Refuse a rows weight too close to 0 to tell from it, by the rule a JSON option uses
This commit is contained in:
@@ -4,6 +4,7 @@ import (
|
||||
"fmt"
|
||||
"slices"
|
||||
"strconv"
|
||||
"strings"
|
||||
"unicode"
|
||||
)
|
||||
|
||||
@@ -177,3 +178,10 @@ func (p *calcParser) ident() (CalcNode, error) {
|
||||
}
|
||||
return CalcVar{name, at}, nil
|
||||
}
|
||||
|
||||
// Underflows reports a number written as text that reads as f = 0 though a digit before its
|
||||
// exponent is not 0, as 1e-400 does: no float64 holds the number written.
|
||||
func Underflows(text string, f float64) bool {
|
||||
mantissa, _, _ := strings.Cut(strings.ToLower(text), "e")
|
||||
return f == 0 && strings.ContainsAny(mantissa, "123456789")
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user