diff --git a/common/structure/structure.go b/common/structure/structure.go index 89be4b2..31b0702 100644 --- a/common/structure/structure.go +++ b/common/structure/structure.go @@ -91,6 +91,8 @@ func (d *Decoder) decodeInt(name string, data any, val reflect.Value) (err error switch { case kind == reflect.Int: val.SetInt(dataVal.Int()) + case kind == reflect.Float64 && d.option.WeaklyTypedInput: + val.SetInt(int64(dataVal.Float())) case kind == reflect.String && d.option.WeaklyTypedInput: var i int64 i, err = strconv.ParseInt(dataVal.String(), 0, val.Type().Bits())