Integer returns the underlying value as an integer (converts the underlying value, if necessary). If it's not possible to convert the underlying value, it will return 0.
()
| 135 | // value, if necessary). If it's not possible to convert the underlying value, |
| 136 | // it will return 0. |
| 137 | func (v *Value) Integer() int { |
| 138 | switch v.getResolvedValue().Kind() { |
| 139 | case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: |
| 140 | return int(v.getResolvedValue().Int()) |
| 141 | case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64: |
| 142 | return int(v.getResolvedValue().Uint()) |
| 143 | case reflect.Float32, reflect.Float64: |
| 144 | return int(v.getResolvedValue().Float()) |
| 145 | case reflect.String: |
| 146 | // Try to convert from string to int (base 10) |
| 147 | f, err := strconv.ParseFloat(v.getResolvedValue().String(), 64) |
| 148 | if err != nil { |
| 149 | return 0 |
| 150 | } |
| 151 | return int(f) |
| 152 | default: |
| 153 | logf("Value.Integer() not available for type: %s\n", v.getResolvedValue().Kind().String()) |
| 154 | return 0 |
| 155 | } |
| 156 | } |
| 157 | |
| 158 | // Float returns the underlying value as a float (converts the underlying |
| 159 | // value, if necessary). If it's not possible to convert the underlying value, |
no test coverage detected