Python: Division by Larger Number
本问题已经有最佳答案,请猛点这里访问。
1 | print 1/50 |
结果舍入为零:0
1 | print float(1/50) |
再次返回零,但作为浮点数。
我应该使用什么语法来获得正确的结果(0.02),只使用stock模块。
可选地:
1 2 3 | >>> from __future__ import division >>> 1/50 0.02 |
在python 3中,这是默认启用的。
编写
以下是一些方法:
1 2 3 4 5 6 7 8 9 10 11 12 | >>> print float(1)/50 0.02 >>> print 1/float(50) 0.02 >>> print float(1)/float(50) 0.02 >>> print 1./50 0.02 >>> print 1/50. 0.02 >>> print 1./50. 0.02 |
这条线:
1 | print float(1/50) |
执行1/50的整数除,然后将其强制转换为浮点。这是错误的顺序,因为整数除法已经丢失了小数。
在除法之前,您需要先将其强制转换为浮点型,方法如下:
1 2 | float(1)/50 1./50 |