print 1/50
结果为舍入零:0
print float(1/50)
再次返回零但是作为浮动。
我应该使用什么语法来仅使用库存模块获得正确的结果(0.02)。
答案 0 :(得分:6)
这一行:
print float(1/50)
执行1/50的整数除法,然后将其转换为浮点数。这是错误的顺序,因为整数除法已经丢失了小数值。
您需要在分割之前以下列方式之一投射到第一 <:>
float(1)/50
1./50
答案 1 :(得分:6)
当您编写print float(1/50)
时,Python首先计算1/50
的值(即0
),然后将其转换为浮点数。这显然不是你想要的。
以下是一些方法:
>>> 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
答案 2 :(得分:6)
可替换地:
>>> from __future__ import division
>>> 1/50
0.02
默认情况下在Python 3中启用