您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

python不正确的舍入与浮点数

python不正确的舍入与浮点数

Python 3使用舍入到偶数方法根据IEEE 754标准进行舍入

如果您想采用另一种方式取整,则只需手动实施即可:

import math
def my_round(n, ndigits):
    part = n * 10 ** ndigits
    delta = part - int(part)
    # always round "away from 0"
    if delta >= 0.5 or -0.5 < delta <= 0:
        part = math.ceil(part)
    else:
        part = math.floor(part)
    return part / (10 ** ndigits)

用法示例:

In [12]: my_round(0.3125, 3)
Out[12]: 0.313

在python2中,舍入总是远离零,而在python3中,它舍入为偶数。(例如,请参见round功能文档中的2.7和3.3之间的区别)。

python 2022/1/1 18:43:05 有276人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶