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

如何在Python中正确舍入半浮点数?

如何在Python中正确舍入半浮点数?

数字类型” 部分明确记录了此行为:

round(x[, n])x 四舍五入为n位数字,四舍五入为偶数。如果省略n,则认为0。

注意 四舍五入到一半 。这也被称为 银行家四舍五入 ; 通过四舍五入到最接近的 偶数, 您可以平均舍入误差,而不必总是向上或向下舍入(复合舍入误差)。

如果需要对舍入行为进行更多控制,请使用decimal模块,该模块可让您确切指定应使用的舍入策略

例如,从一半取整:

>>> from decimal import localcontext, Decimal, ROUND_HALF_UP
>>> with localcontext() as ctx:
...     ctx.rounding = ROUND_HALF_UP
...     for i in range(1, 15, 2):
...         n = Decimal(i) / 2
...         print(n, '=>', n.to_integral_value())
...
0.5 => 1
1.5 => 2
2.5 => 3
3.5 => 4
4.5 => 5
5.5 => 6
6.5 => 7
python 2022/1/1 18:34:19 有396人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

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

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

请先登录

推荐问题


联系我
置顶