相关疑难解决方法(0)

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

我正面临着一个奇怪的round()功能行为:

for i in range(1, 15, 2):
    n = i / 2
    print(n, "=>", round(n))
Run Code Online (Sandbox Code Playgroud)

此代码打印:

0.5 => 0
1.5 => 2
2.5 => 2
3.5 => 4
4.5 => 4
5.5 => 6
6.5 => 6
Run Code Online (Sandbox Code Playgroud)

我希望浮动值总是向上舍入,而是舍入到最接近的偶数.

为什么会出现这种行为,以及获得正确结果的最佳方法是什么?

我尝试使用fractions但结果是一样的.

python floating-point precision rounding python-3.x

46
推荐指数
7
解决办法
3万
查看次数

标签 统计

floating-point ×1

precision ×1

python ×1

python-3.x ×1

rounding ×1