diff --git a/operator-sum.go b/operator-sum.go index 063364c..352e5de 100644 --- a/operator-sum.go +++ b/operator-sum.go @@ -56,7 +56,11 @@ func evalPlus(ctx ExprContext, self *term) (v any, err error) { } v = &sumList } else if isFraction(leftValue) || isFraction(rightValue) { - v, err = sumAnyFract(leftValue, rightValue) + if isFloat(leftValue) || isFloat(rightValue) { + v = numAsFloat(leftValue) + numAsFloat(rightValue) + } else { + v, err = sumAnyFract(leftValue, rightValue) + } } else { err = self.errIncompatibleTypes(leftValue, rightValue) }