一、使用內置函數round()
Python內置函數round()可以用來保留小數點後指定位數的數字。它的用法如下:
num = 12.34566 round_num = round(num, 2) print(round_num)
這段代碼中,變量num存儲的是一個帶有多位小數的數字,round()函數的第二個參數指定需要保留的小數點後位數,結果就是round_num變量,保留小數點後兩位。
需要注意的是,如果保留位數後的數字是5,round()函數的處理方式是將其捨去。比如,12.34565保留小數點後兩位,結果是12.34,而不是12.35。
二、格式化輸出字符串
除了使用round()函數之外,還可以使用字符串格式化輸出的方式來保留小數點後的數字。
num = 12.34567 format_num = "%.2f" % num print(format_num)
這裡使用了”%.2f”的格式化輸出,其中%表示佔位符,.2表示保留小數點後兩位,f表示要格式化的是一個浮點數。
不過需要注意的是,字符串格式化輸出的方式只是將數字格式化為帶有兩位小數的字符串,並沒有對數字本身進行四捨五入。
三、使用數學函數庫math
Python的數學函數庫math中也提供了和round()函數類似的保留小數點位數的方法。具體用法如下:
import math num = 12.34568 math_num = math.floor(num * 100 + 0.5) / 100 print(math_num)
這段代碼中,首先引入math函數庫,然後將數字乘以100,再加上0.5,並使用math.floor()函數向下取整,最後將結果除以100,就可以得到保留小數點後兩位的數字。
需要注意的是,這種方式也是直接截取小數點後第三位的數字進行四捨五入。
四、使用第三方庫NumPy
除了python內置函數庫和math庫之外,還可以使用NumPy第三方庫來保留小數點後幾位。具體用法如下:
import numpy as np num = 12.34569 np_num = np.around(num, decimals=2) print(np_num)
這裡使用的是NumPy庫中的aroud()函數,第一個參數是要保留小數點位數的數字,第二個參數decimals指定小數點後的位數。
需要注意的是,這種方式也是按照四捨五入的規則進行處理。
五、使用pandas庫
pandas庫也可以用來處理小數點位數的問題。具體用法如下:
import pandas as pd num = 12.34570 pd_num = pd.Series([num]).round(2)[0] print(pd_num)
這裡使用pandas庫中的Series()函數將數字轉換為Series格式,然後使用round()函數指定要保留的小數點位數,最後用[0]取出保留小數點後位數之後的數字。
需要注意的是,pandas庫是使用銀行家舍入法,即類似四捨六入五成雙的方式保留小數點後幾位。
原創文章,作者:EXGEZ,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/368927.html