我想在Python中打印一个double.但它不起作用,我不知道为什么.
我的代码:
test = 3000 / (1500 * 2000)
print str(test)
Run Code Online (Sandbox Code Playgroud)
如果我做以下事情,我总是得到一个0而不是一个0.001:
test = 3000 / (1500 * 2000)
print '%.10f' % test
Run Code Online (Sandbox Code Playgroud)
我得到了一个0.000000000而不是0.001.
我怎么告诉Python这应该是双倍的?
在Python 2.x中,您需要将至少一个操作数转换为float,因为整数除法会导致Python 2.x中的截断输出:
>>> 3000 / (1500 * 2000)
0
>>> 3000.0 / (1500 * 2000) # Or use float(3000)
0.001
>>> float(3000) / (1500 * 2000)
0.001
Run Code Online (Sandbox Code Playgroud)
或者你可以在Python 2.x中导入Python 3.x的分区,其中整数除法导致真正的除法:
>>> from __future__ import division
>>> 3000.0 / (1500 * 2000)
0.001
Run Code Online (Sandbox Code Playgroud)
请注意,这将影响整个模块的划分.
| 归档时间: |
|
| 查看次数: |
6628 次 |
| 最近记录: |