python四舍五入问题

在使用python时经常会用到round()函数,通常理解为round()函数是会自动进行四舍五入规则的,但看下面实例:

print(round(113.0625,3))
#这段代码,按照四舍五入规则应输出为113.063,但实际输出结果为 113.062

print(round(113.06250,3))
#这段代码,输出结果也为 113.062

print(round(113.06255,3))
#这段代码,输出结果为 113.063

查找资料发现round()函数 它还考虑了一种称为"银行家舍入"的规则。银行家舍入是一种常见的舍入规则,用于避免累积误差。根据这个规则,当要舍入的数字恰好等于5时,会向最接近的偶数舍入。

所以我们再举例子尝试:

print(round(113.0635,3))
#输出结果为 113.064

print(round(113.0655,3))
#输出结果为 113.066

这样就可以理解了,四舍五入结果还需考虑会像最接近的偶数舍入。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值