下面通过一个自编的方法实现四舍五入:
def rounding(num, n=0):
"""
功能:优化Python内置的round()函数有时出现四舍六入的问题,实现真正的四舍五入。
实现原理:当需要四舍五入的小数点后一位是5时,加1变成6,即可顺利利用round()函数,实现真正的四舍五入。
参数:
num: 需要四舍五入的数字;
n: 保留的小数点位数,默认取整。
"""
if '.' in str(num):
if len(str(num).split('.')[1]) > n and str(num).split('.')[1][n] == '5':
num += 10 ** -(n + 1)
if n:
return round(num, n)
else:
return round(num)