在Python编程中,保留小数非常重要,特别是需要进行计算和显示的时候,通常需要仅保留两位小数。这篇文章将介绍如何在Python中保留两位小数。
一、使用round()函数保留小数
num = 3.1415926
result = round(num, 2)
print(result)
使用round()函数可以对浮点数进行四舍五入,其中第一个参数是需要保留小数的数值,第二个参数是需要保留的小数位数。上面的例子中,num为需要保留两位小数的原始数据,result为经过round()函数处理后的结果,输出结果为3.14。
需要注意的是,如果小数位数不够,例如原始数据为1.234,保留两位小数位数不够,则会自动在末尾补齐,结果为1.23。
二、使用format()函数保留小数
num = 1.2345
result = '{:.2f}'.format(num)
print(result)
使用format()函数也可以对浮点数进行保留小数的处理,其中{:.2f}表示保留小数后两位,f表示将参数格式化为浮点数,并且保留小数的位数。上面的例子中,num为原始数据,result为使用format()函数处理后的数据,输出结果为1.23。
需要注意的是,使用format()函数时,如果原始数据小数位数不够,同样会在末尾添加0,例如:1.format(1.2)将输出1.20。
三、使用字符串格式化表示法(%)保留小数
num = 3.14159
result = '%.2f' % num
print(result)
使用字符串格式化表示法%同样可以对浮点数进行保留小数的处理,其中%.2f表示保留小数后两位,f表示将参数格式化为浮点数,并且保留小数的位数。上面的例子中,num为原始数据,result为使用字符串格式化表示法处理后的数据,输出结果为3.14。
需要注意的是,使用字符串格式化表示法时,如果原始数据中小数位数不够,则同样会在后面补0,例如:'%.2f' % 3.1将输出3.10。
四、四舍五入精确计算
from decimal import Decimal, ROUND_HALF_UP
num = Decimal('1.235')
result = num.quantize(Decimal('0.00'), rounding=ROUND_HALF_UP)
print(result)
使用Python中的decimal模块可以进行四舍五入的精确计算,其中参数'0.00'表示需要保留的小数位数,ROUND_HALF_UP表示一个字符串,表示将数字四舍五入到最靠近的数字并向上舍入。上面的例子中,Decimal('1.235')是原始数据,通过quantize()函数可以保留两位小数并进行四舍五入处理,输出结果为1.24。
需要注意的是,在使用Decimal对象时,需要将原始数据转化为字符串进行处理,在结果输出前,需要使用str()函数将结果转换为字符串再进行输出。