繁体   English   中英

除后得到所有小数位

[英]get all decimal places after division

我必须用1/50000进行计算。 当我做

float(1/50000)

在python中,它仅返回0.0 如何在python的功效中获取实际值? 我想得到2.5*10^(-5)

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

使用python 3.x

>>> 1/50000
2e-05

或在python 2.x上

>>> from __future__ import division

使用1.0/50000float(1)/50000 这样做的方法,到转换为浮点数时,除法已经完成,为时已晚,无法获得额外的精度。

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

float(1) / float(50000)

要么

1./50000

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

您正在做的事情是将整数除以0,然后将0强制转换为浮点数'0.0'。

只需将参数之一转换为float即可

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM