因为1.1不能完全以二进制形式表示;近似值比1.1高一点-因此除法结果有点太小。
请尝试以下操作:
在Python 2下,在控制台上键入:
>>> 1.11.1000000000000001
在Python 3.1中,控制台将显示
1.1,但是在内部,它仍然是相同的数字。
但:
>>> 11/1.110.0
正如gnibbler指出的那样,这是在浮子的可用精度范围内进行“内部舍入”的结果。正如MYYN在他的评论中指出的那样,为了尽可能地保留,
//使用了一种不同的算法来计算楼层分割结果。
math.floor()``a== (a//b)*b + a%b
Decimal如果需要此精度,请使用该类型。



