當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python round()用法及代碼示例


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)類型轉換。



相關用法


注:本文由純淨天空篩選整理自Striver大神的英文原創作品 round() function in Python。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。