Python:当除以<0.1时执行除法与除法除法时的结果不同

时间:2014-06-05 10:25:54

标签: python division

无意中我偶然发现了以下差异。除法50 / 0.02返回浮点数:

2500.0

然而,在我看来,赔率为50 // 0.02的赔偿 - 错误回答:

2499.0

有人可以解释这种差异是如何造成的吗?

1 个答案:

答案 0 :(得分:2)

这是由于python的浮点精度问题。 0.02实际上就像Martijn Pieters所建议的那样0.02000000000000000041633363423443370265886187553405762因此,当除以50时,它会得到一个类似2499.99999999999994795875的值,并且对于分层,这个值会被覆盖并变为2499

查看the python docs以更好地理解python中的浮点数