分裂后得到所有小数位

时间:2012-06-10 08:44:11

标签: python floating-point division

我必须使用1/50000进行计算。当我做的时候

float(1/50000)

在python中它只返回0.0。如何在python中获得power的实际值?我想获得2.5*10^(-5)

5 个答案:

答案 0 :(得分:4)

In [2]: 1.0/50000
Out[2]: 2e-05

请注意.0。它确保1.0是浮点字面值而不是整数字。

另一种写这个的方法如下:

In [3]: float(1)/50000
Out[3]: 2e-05

您现在首先使用整数除法来计算1/50000。此除法的结果是整数0,然后将其转换为浮点值(0.0)。

最后,请注意您当前的代码在Python 3中的行为正确(float()是多余的)。这是由于PEP 238

答案 1 :(得分:3)

使用python 3.x

>>> 1/50000
2e-05

或在python 2.x上

>>> from __future__ import division

答案 2 :(得分:2)

使用1.0/50000float(1)/50000。你做到这一点的方式,当你转换为浮动时,分割已经完成,为时间太晚,无法获得额外的准确性。

答案 3 :(得分:2)

输入参数必须是浮点值才能划分为浮点数:

float(1) / float(50000)

或者

1./50000

小数将1转换为浮点数。如果其中一个输入值是浮点数,则除法运算也会浮动。

你正在做的是将整数除以得0,然后将0转换为浮点值为'0.0'。

答案 4 :(得分:2)

只需将其中一个参数转换为 float

即可
>>> 1 / float(50000)
2e-05