diff options
author | xuri <xuri.me@gmail.com> | 2022-08-17 10:59:52 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-08-17 10:59:52 +0800 |
commit | d1e76fc432ac5c9bde99591ec5e88e46b62d9c3d (patch) | |
tree | 8e5c13bff106593ecd5dbabbd0a4fae4fefe901e /calc.go | |
parent | 551fb8a9e4b03fe718a339e75aeacc8b5581378a (diff) |
This closes #1319, fix calculate error for formula with negative symbol
- Update unit test and comment for the functions
Diffstat (limited to 'calc.go')
-rw-r--r-- | calc.go | 8 |
1 files changed, 4 insertions, 4 deletions
@@ -1234,7 +1234,7 @@ func calculate(opdStack *Stack, opt efp.Token) error { return ErrInvalidFormula } opd := opdStack.Pop().(formulaArg) - opdStack.Push(newNumberFormulaArg(0 - opd.Number)) + opdStack.Push(newNumberFormulaArg(0 - opd.ToNumber().Number)) } if opt.TValue == "-" && opt.TType == efp.TokenTypeOperatorInfix { if opdStack.Len() < 2 { @@ -1647,10 +1647,10 @@ func formulaCriteriaEval(val string, criteria *formulaCriteria) (result bool, er var value, expected float64 var e error prepareValue := func(val, cond string) (value float64, expected float64, err error) { - percential := 1.0 + percentile := 1.0 if strings.HasSuffix(cond, "%") { cond = strings.TrimSuffix(cond, "%") - percential /= 100 + percentile /= 100 } if value, err = strconv.ParseFloat(val, 64); err != nil { return @@ -1658,7 +1658,7 @@ func formulaCriteriaEval(val string, criteria *formulaCriteria) (result bool, er if expected, err = strconv.ParseFloat(cond, 64); err != nil { return } - expected *= percential + expected *= percentile return } switch criteria.Type { |