在大神的帮助下,了解了Python中四舍五入的方法。
需要注意以下几点:
- 不能使用浮点数,应该使用Decimal,因为浮点数储存的是近似值;
- 传统的round()并没有错,它采用了“奇进偶舍”的策略,有兴趣的去搜索一下;
- 要实现一般意义上的四舍五入,使用decimal库中的函数即可。
# 使用一般的round()函数
print(round(1.2345, 3))
# 使用Decimal类的quantize方法,传入小数字符串,指定round=ROUND_HALF_UP
number = decimal.Decimal('1.2345')
result = number.quantize(decimal.Decimal('1.000'), rounding=decimal.ROUND_HALF_UP)
print(result)
结果如下:
1.234
1.235