diff --git a/options/options.go b/options/options.go index 8c83372..c054f12 100644 --- a/options/options.go +++ b/options/options.go @@ -110,6 +110,18 @@ func setFieldValue(field reflect.Value, value string, fieldType reflect.Type) er } field.Set(slice) } + case reflect.Float32: + floatValue, err := strconv.ParseFloat(value, 32) + if err != nil { + return fmt.Errorf("invalid float value: %w", err) + } + field.SetFloat(floatValue) + case reflect.Float64: + floatValue, err := strconv.ParseFloat(value, 64) + if err != nil { + return fmt.Errorf("invalid float value: %w", err) + } + field.SetFloat(floatValue) default: return fmt.Errorf("unsupported field type: %s", fieldType.Kind()) }