2012-06-10 35 views
1

後,我必須做一個計算與1/50000。當我做得到所有小數除法

float(1/50000) 

python它只返回我0.0。我怎樣才能得到在python權力的實際價值?我想獲得2.5*10^(-5)

+1

在這裏你去:'0.00002'。 – Gumbo

回答

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

請注意.0。它可以確保1.0是一個浮點文字,而不是一個整數之一。

一種不同的方式來寫,這是如下:

​​

你現在要做第一次使用整數除法計算1/50000。這個除法的結果是整數0,然後將其轉換成浮點值(0.0)。

最後,注意,目前的代碼將正確的行爲在Python 3(和float()是多餘的)。這是由於PEP 238

+2

'1./50000'就是真正需要的。 – martineau

2

使用1.0/50000float(1)/50000。你所採取的方式,通過你轉換爲浮動時,該師已經完成,這是爲時已晚來獲得額外的準確性。

2

輸入參數必須是浮要被劃分爲浮子:

float(1)/float(50000) 

或者

1./50000 

十進制蒙上1爲float。如果其中一個輸入值是浮點數,則除法運算也會浮動。

你正在做的是將整數除以0,然後將0轉換爲浮點數爲'0.0'。

3

使用Python 3.x的

>>> 1/50000 
2e-05 

或Python的2.X

>>> from __future__ import division 
2

只是轉換的參數之一爲浮動

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