代码改变世界

Python四舍五入问题详解

2022-03-02 16:15  idea555  阅读(166)  评论(0)    收藏  举报
def __round45r(number, digits=0):
'''四舍五入,5一定进位,digits表示保留小数位数'''
int_len = len(str(int(abs(number))))
signal_ = 1 if number >= 0 else -1
err_place = 16 - int_len - 1
if err_place > 0:
err_ = 10**-err_place
return round(number + err_ * signal_, digits)
else:
raise NotImplemented # 受到float表示精度的限制!

参考网址:https://blog.csdn.net/wangxichang/article/details/90606211