2016-03-05 81 views
0

我正在嘗試四捨五入一個浮點數,但它返回零。這是爲什麼?我如何將小數點後的浮點數整數轉換爲3位數?爲什麼在四捨五入浮點數時python返回0?

>>> a= 9.907283855185141e-32 
>>> round(a,3) 
0.0 
>>> type(a) 
<class 'float'> 
+3

你有沒有注意到最後的電子32? –

+1

'9.907 ... e-32'與'0.0000 ... 9907 ...'相同。那個'e-32'的意思是「乘以10乘以負數32」,這是一個非常小的數字,乘以0. – zondo

+0

是的,它是我最後失蹤的e-32。 –

回答

3

人數a,如果用十進制,是

0.00000000000000000000000000000009907283855185141 

如果小數點後四捨五入到3位,它實際上是0