为什么这个简单的计算返回0
>>> 25/100*50
0
而这实际上是正确计算的?
>>> .25*50
12.5
>>> 10/2*2
10
第一个示例有什么问题?
发布于 2012-05-27 02:25:49
在Python2中,执行整数除法时,25/100
为零。因为结果小于1
。
你可以通过在你的脚本中添加from __future__ import division
来“修复”这个问题。在使用/
运算符并使用//
进行整数除法时,这将始终执行浮点数除法。
另一种选择是使至少一个操作数为浮点型,例如25.0/100
。
在Python3中,25/100
总是0.25
。
发布于 2012-05-27 02:26:03
25/100
是一个整数计算,它舍入(通过截断)到0
。
发布于 2020-10-16 05:00:39
如果结果小于1,则Python 2返回整数除法的零。
解决方案是将其中一个整数转换为浮点数。
float(25)/100*50
https://stackoverflow.com/questions/10768724
复制相似问题