在python中获得小数点结果达到n个精度

时间:2017-06-21 11:35:54

标签: python math floating-point decimal

我有一个应用程序有一些复杂的数学运算导致结果非常少量,如0.000028等。现在如果我在javascript执行一些计算,如(29631/1073741824)它给我的结果为0.000027596019208431244而在python中相同的计算数据类型为float给出0.0。如何在python

中增加结果中的小数点数

2 个答案:

答案 0 :(得分:5)

问题不在于缺少小数点,而是在Python 2整数除法中产生整数结果。这意味着29631/1073741824产生0而不是您期望的浮动。要解决此问题,可以对任一操作数使用float:

>>> 29631.0/1073741824
2.7596019208431244e-05

这个changed in Python 3,除法运算符执行预期的操作。您可以使用from __future__导入turn on the new behavior in Python 2

>>> from __future__ import division
>>> 29631/1073741824
2.7596019208431244e-05

答案 1 :(得分:-1)

如果你使用的是Python 3.x,你应该试试这个:

print(str(float(29631)/1073741824))