在 python 中获取高达 n 个精度的小数点结果



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

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

>>> 29631.0/1073741824
2.7596019208431244e-05

这在 Python 3 中发生了变化,其中除法运算符执行预期的事情。您可以使用from __future__导入来启用 Python 2 中的新行为:

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

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

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

相关内容

  • 没有找到相关文章

最新更新