2016-04-19 49 views
0

在我的程序中顯示大數字,因此我希望將任何數字轉換爲10的冪(E-notation)。我嘗試了一個想法,但我得到一個錯誤,說:Python將任意數字轉換爲10的冪(E-notation)

OverflowError: cannot convert float infinity to integer 

我如何成功,我想?

+0

你使用了什麼代碼? –

+0

我們需要引發錯誤的部分代碼來確定更正。 –

回答

3

在Python中float s通常是雙精度IEEE-754浮點數;它有11個指數位,這實際上意味着它最多可以表示一個數字~2^1024。如果你有大於結果:Python將其轉換爲IEEE 754 infinity來:

>>> 1e308 
1e+308 
>>> 1e309 
inf 

因此許多這個大是不能表示爲一個float


大於這個數字的數字在Python中仍然可以表示爲小數或整數/長整數。