一、round()函數
Python中最常用的捨棄小數位函數是round()函數,它可以對數字進行四捨五入,並返回一個整數或浮點數。
num1 = 3.14159 num2 = 2.71828 print(round(num1)) # 3 print(round(num2, 2)) # 2.72
在上面的例子中,round()函數對num1進行四捨五入,返回整數3。對num2保留兩位小數,返回浮點數2.72。
需要注意的是,round()函數的舍入規則是:
1. 當小數位數小於等於0時,結果與輸入整數最接近。
2. 當小數位數大於0時,結果為輸入數字保留指定位數的小數, 如果最後一位小數是5,則向偶數位舍入。
二、math模塊的ceil()和floor()函數
math模塊的ceil()和floor()函數可以對數字進行向上取整和向下取整。
import math num1 = 3.14159 num2 = 2.71828 print(math.ceil(num1)) # 4 print(math.floor(num2)) # 2
在上面的例子中,math.ceil()函數對num1進行向上取整,返回整數4。math.floor()函數對num2進行向下取整,返回整數2。
三、decimal模塊
雖然以上函數已經可以滿足大部分情況下的需求,但在對精度要求較高的場景中,需要使用decimal模塊。
decimal模塊提供了Decimal類,可以精確地控制數字的小數位數。
import decimal num1 = decimal.Decimal('3.14159') num2 = decimal.Decimal('2.71828') print(num1.quantize(decimal.Decimal('0.00'))) # 3.14 print(num2.quantize(decimal.Decimal('0.0'))) # 2.7
在上面的例子中,Decimal類接收一個字元串形式的數字作為參數,然後再通過quantize()方法控制小數位數。
四、numpy模塊
numpy模塊提供了一個around()函數,可以對數字進行四捨五入,並控制小數位數。
import numpy as np num1 = 3.14159 num2 = 2.71828 print(np.around(num1, 2)) # 3.14 print(np.around(num2, decimals=1)) # 2.7
在上面的例子中,np.around()函數對num1保留兩位小數,返回3.14。對num2保留一位小數,返回2.7。
需要注意的是,np.around()函數的舍入規則與round()函數相同。
原創文章,作者:ANYWN,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/331962.html