因为Python中round函数用的是银行家舍入算法。
美国银行家在发现传统四舍五入算法存在误差,发明了银行家舍入算法,该算法的核心为:
舍去位的数值小于5时,直接舍去
舍去位的数值大于等于6时,进位舍去
当舍去位的数值等于5时,分为两种情况:5后面还有其他数字(非0),则进位后舍去;若5后面是0,则根据5前一位数的奇偶性来判断是否需要进位,奇数进位,偶数舍去。
即:四舍六入五考虑,五后非零就进一,五后为零看奇偶,五前为偶应舍去,五前为奇要进一。
https://blog.csdn.net/qq_34745295/article/details/96905782
python3中round() 确实有点坑. 可以用
from decimal import Decimal
您好,我是问答小助手,你的问题已经有小伙伴为您解答了问题,您看下是否解决了您的问题,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632