1

我必须用1/50000. 当我做

float(1/50000)

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

4

5 回答 5

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

于 2012-06-10T08:46:08.387 回答
3

使用 python 3.x

>>> 1/50000
2e-05

或在 python 2.x 上

>>> from __future__ import division
于 2012-06-10T08:48:30.887 回答
2

使用1.0/50000float(1)/50000。你这样做的方式,当你转换为浮点数时,除法已经完成,获得额外的准确性为时已晚。

于 2012-06-10T08:46:43.463 回答
2

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

float(1) / float(50000)

或者

1./50000

十进制将 1 转换为浮点数。如果输入值之一是浮点数,则除法运算也将变为浮点数。

您所做的是将整数除以得到 0,然后将 0 转换为浮点数作为“0.0”。

于 2012-06-10T08:46:53.633 回答
2

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

>>> 1 / float(50000)
2e-05
于 2012-06-10T08:51:38.277 回答