我在用 python的 round函数中发现它在有些情况下实际上并没有执行四舍五入,而是五舍六入。
例如:
round(0.1555,3)
Out[4]: 0.155
round(0.955,2)
Out[14]: 0.95
而如果小数比需要保留的位数多,则不会有类似的问题,例如:
round(0.1555,2)
Out[10]: 0.16
这个明显是有问题的。为此我自己写了一个小函数来解决round函数的这个问题。
这个函数的思路很简单,如果输入的小数比要保留的位数多一位并且最后一位是5,那么就+1让它变成6。
用新函数的运行结果如下:
furound(0.1555,3)
Out[11]: 0.156
furound(0.955,2)
Out[15]: 0.96
问题得到解决。
如果大家有更好的方法,欢迎讨论
来源:CSDN
作者:董Eddie
链接:https://blog.csdn.net/weixin_43192251/article/details/103642668