Python3 round() 函數

Python3 數字 Python3 數字


描述

round() 方法返回浮點數 x 的四捨五入值,準確的說保留值將保留到離上一位更近的一端(四舍六入)。

精度要求高的,不建議使用該函數。


語法

以下是 round() 方法的語法:

round( x [, n]  )

參數

  • x -- 數字運算式。
  • n -- 表示從小數點位數,其中 x 需要四捨五入,默認值為 0。

返回值

返回浮點數x的四捨五入值。

實例

以下展示了使用 round() 方法的實例:

實例

#!/usr/bin/python3

print ("round(70.23456) : ", round(70.23456))
print ("round(56.659,1) : ", round(56.659,1))
print ("round(80.264, 2) : ", round(80.264, 2))
print ("round(100.000056, 3) : ", round(100.000056, 3))
print ("round(-100.000056, 3) : ", round(-100.000056, 3))

以上實例運行後輸出結果為:

round(70.23456) :  70
round(56.659,1) :  56.7
round(80.264, 2) :  80.26
round(100.000056, 3) :  100.0
round(-100.000056, 3) :  -100.0

看下官網給的一個例子:

>>> round(2.675, 2)
2.67

按我們的想法返回結果應該是 2.68,可結果卻是 2.67,為什麼?

這跟浮點數的精度有關。我們知道在機器中浮點數不一定能精確表達,因為換算成一串 1 和 0 後可能是無限位數的,機器已經做出了截斷處理。那麼在機器中保存的2.675這個數字就比實際數字要小那麼一點點。這一點點就導致了它離 2.67 要更近一點點,所以保留兩位小數時就近似到了 2.67。

Python3 數字 Python3 數字