Open
Description
When you try to compare floating number with floating literal like Number == 12.34
, it returns false even when Number
is 12.34
Below is code to reproduce
https://go.dev/play/p/FFgPkXjIURm
package main
import (
"fmt"
"github.com/expr-lang/expr"
)
type Env struct {
Number float32
}
func main() {
code := `Number == 12.34`
program, err := expr.Compile(code, expr.Env(Env{}))
if err != nil {
panic(err)
}
env := Env{
Number: 12.34,
}
output, err := expr.Run(program, env)
if err != nil {
panic(err)
}
fmt.Println(output)
}