无意中我偶然发现了以下差异。除法50 / 0.02返回浮点数:
2500.0
然而,在我看来,赔率为50 // 0.02的赔偿 - 错误回答:
2499.0
有人可以解释这种差异是如何造成的吗?
答案 0 :(得分:2)
这是由于python的浮点精度问题。 0.02
实际上就像Martijn Pieters所建议的那样0.02000000000000000041633363423443370265886187553405762
因此,当除以50时,它会得到一个类似2499.99999999999994795875
的值,并且对于分层,这个值会被覆盖并变为2499
。
查看the python docs以更好地理解python中的浮点数