一、使用decimal模块
from decimal import Decimal, ROUND_HALF_UP, ROUND_UP, ROUND_DOWN
# 必须加上rouding=ROUND_HALF_UP,大于等于5的时候就要四舍五入
# 否则默认保留最后一位大于等于五,以及下一位大于等于5才四舍五入。即1.2345=1.234;1.2355=1.236
print(Decimal('1.2345').quantize(Decimal('0.000'), rounding=ROUND_HALF_UP)) # 设置精确值,四舍五入
注:
- python的浮点数毕竟是近似值,所以使用round去四舍五入某些情况会存在误差
- quantize作用:设置精度范围
- rounding 参数详解:
- 四舍五入:ROUND_HALF_UP
- 向上取整:ROUND_UP
- 向下取整:ROUND_DOWN