我在Python中使用浮点数进行模运算时遇到了问题。以下是代码:
...
print '(' + repr(olddir) + ' + ' + repr(self.colsize) + ') % (math.pi*2) = ' + repr((olddir+self.colsize)
...
输出:
(6.281876310240881 + 0.001308996938995747) % (math.pi*2) = 2.9043434324194095e-13
我知道浮点数不是很精确。但我无法理解这个问题。
我不知道它是否相关,但 Google 计算器也无法处理此计算。以下是 Google 计算器的输出:
(6.28187631024 + 0.001308996939) % (pi * 2) = 6.28318531
什么导致了这个计算错误?我该如何在Python程序中避免它?