我在 Python 中的浮点数上遇到模数问题。这段代码:
...
print '(' + repr(olddir) + ' + ' + repr(self.colsize) + ') % (math.pi*2) = ' + repr((olddir+self.colsize)
...
印刷:
(6.281876310240881 + 0.001308996938995747) % (math.pi*2) = 2.9043434324194095e-13
我知道浮点数并不精确。但我无法理解这一点。
我不知道它是否有任何关系,但谷歌计算器也无法处理这个计算。这是谷歌计算器的输出:
(6.28187631024 + 0.001308996939) % (pi * 2) = 6.28318531
是什么导致了这个计算错误?以及如何在我的 Python 程序中避免它?