一、使用内置函数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库中的around()
函数,第一个参数是要保留小数点位数的数字,第二个参数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库是使用银行家舍入法,即类似四舍六入五成双的方式保留小数点后几位。