我正在编写一段代码,其中数值相等是几个逻辑条件中的一个重要因素。Clojure 正在做一些我不太了解的事情来解释。例如:
user=> (- 5 4.9)
0.09999999999999964
user=> (- 5 4.8)
0.20000000000000018
user=> (- 5 2.9)
2.1
user=> (- 5 2.7)
2.3
user=> (- 5 2.8)
2.2
user=> (- 9 6.9)
2.0999999999999996
user=> (- 9 2.9)
6.1
似乎在某些情况下,Clojure 数字理解减法到 0.1,而在其他情况下则不然。这里发生了什么?