Python提供了一個內置函數round(),該函數會四舍五入為給定的位數,並返回浮點數,如果沒有提供四舍五入的位數,則會將數字四舍五入為最接近的整數。
用法:
round(number, number of digits)
round()參數:
..1) number - number to be rounded ..2) number of digits (Optional) - number of digits up to which the given number is to be rounded.
如果缺少第二個參數,則round()函數將返回:..a)如果僅給出一個整數,即15,則將四舍五入為15。.b)如果給出一個十進製數,則將四舍五入如果十進製值> = 5,則返回ceil整數;如果十進製<5,則四舍五入為底整數。
如果缺少第二個參數,則下麵是round()函數的python實現。
# for integers
print(round(15))
# for floating point
print(round(51.6))
print(round(51.5))
print(round(51.4))
輸出:
15 52 52 51
當第二個參數存在時,它返回:當第(ndigit + 1)位數字> = 5時,將四舍五入到的最後一個十進製數字加1,否則保持不變。
如果存在第二個參數,則下麵是round()函數的python實現
# when the (ndigit+1)th digit is =5
print(round(2.665, 2))
# when the (ndigit+1)th digit is >=5
print(round(2.676, 2))
# when the (ndigit+1)th digit is <5
print(round(2.673, 2))
輸出:
2.67 2.68 2.67
錯誤與異常
TypeError:如果參數中除了數字以外的任何其他數字,都會引發此錯誤。
print(round("a", 2))
輸出:
Runtime Errors: Traceback (most recent call last): File "/home/ccdcfc451ab046030492e0e758d42461.py", line 1, in print(round("a", 2)) TypeError:type str doesn't define __round__ method
實際應用:
函數舍入的常見用途之一是處理分數和小數之間的不匹配
舍入數字的一種用法是將1/3轉換為十進製時,將所有三個都縮短到小數點右邊。在大多數情況下,當您需要使用小數點1/3時,將使用四舍五入的數字0.33或0.333。實際上,當與小數點後的小數位數完全不相等時,通常隻使用小數點右邊的兩位或三位數。您如何以小數點顯示1/6?記住要四舍五入!
# practical application
b = 1/3
print(b)
print(round(b, 2))
輸出:
0.3333333333333333 0.33
注意:在python中,如果我們不給第二個參數就將數字四舍五入到floor或ceil,它將返回例如15.0,而在Python 3中則返回15,因此為了避免這種情況,我們可以在python中使用(int)類型轉換。
相關用法
- Python Pandas Series.round()用法及代碼示例
- Python Numpy matrix.round()用法及代碼示例
- Python Pandas Series.dt.round用法及代碼示例
- Python Pandas DatetimeIndex.round()用法及代碼示例
- Python Pandas dataframe.round()用法及代碼示例
- Python Pandas TimedeltaIndex.round用法及代碼示例
- Python Pandas Timestamp.round用法及代碼示例
- Python id()用法及代碼示例
- Python int()用法及代碼示例
- Python ord()用法及代碼示例
- Python cmp()用法及代碼示例
注:本文由純淨天空篩選整理自Striver大神的英文原創作品 round() function in Python。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。