我正在使用python2 math模块和fsum函数来计算总和。我了解到0.1通常无法以二进制形式存储。据我所知,math.fsum应该可以解决这个问题。
import math
math.fsum([0.0, 0.1])
#0.1
math.fsum([0.1, 0.1])
#0.2
math.fsum([0.2, 0.1])
#0.30000000000000004
math.fsum([0.3, 0.1])
#0.4
math.fsum([0.4, 0.1])
#0.5
那么 math.fsum([0.2, 0.1]) == 0.3 将会是 False。这是正常的吗?我做错了什么吗?
我该如何让 0.2 + 0.1 == 0.3 成为 True 呢?