我正面临着一个奇怪的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
但结果是一样的.