utils.go: numAsFloat() now supports also fraction

This commit is contained in:
Celestino Amoroso 2024-05-01 21:44:55 +02:00
parent 8cb048edb0
commit 2d0d03b975

View File

@ -25,7 +25,7 @@ func isFloat(v any) (ok bool) {
} }
func isList(v any) (ok bool) { func isList(v any) (ok bool) {
_, ok = v.([]any) _, ok = v.(*ListType)
return ok return ok
} }
@ -55,9 +55,13 @@ func isIterator(v any) (ok bool) {
func numAsFloat(v any) (f float64) { func numAsFloat(v any) (f float64) {
var ok bool var ok bool
if f, ok = v.(float64); !ok { if f, ok = v.(float64); !ok {
if fract, ok := v.(*fraction); ok {
f = fract.toFloat()
} else {
i, _ := v.(int64) i, _ := v.(int64)
f = float64(i) f = float64(i)
} }
}
return return
} }