划分后应用floor division和int()之间是否有任何区别?

时间:2017-12-09 02:29:28

标签: python python-3.x

似乎有些情况下,在划分后应用floor division和int()之间的输出是不同的。 你能解释一下原因或向我展示具体案例吗?

问题: int(a // b)不等于int(a / b)

情况: a和b是整数,0

环境: Python 3.4.3

注意: 我无法列出具体案例,因为它们是由在线法官测试制作而且测试案例不公开。

我希望你的帮助。 谢谢。

1 个答案:

答案 0 :(得分:5)

具体示例(在Python 3.4.4 shell中):

>>> int(99999999999999999/100000000000000000)
1
>>> 99999999999999999//100000000000000000
0

当(数学)浮点除法的结果非常接近整数时,会发生这种情况,因此数值浮点除法结果将向该整数舍入。