Python round()错误? [重复]

问题描述 投票:-1回答:2

这个问题在这里已有答案:

Python 3.6.3中的round函数有什么问题?我测试了下面的代码:

a = 0.5
b = 0.5000001
print (round(a),round(b))

..得到结果为

0 1

所以圆形0.5 - > 00.500001 - > 1。两个变量都应该得到1的值吗?

python python-3.x rounding
2个回答
1
投票

它在docs中描述:

如果省略ndigits或者为None,则返回其输入的最接近的整数。

对于支持round()的内置类型,将值四舍五入为函数减去ndigits的最接近的10的倍数;如果两个倍数相等,则向均匀选择进行舍入(例如,圆形(0.5)和圆形(-0.5)都是0,圆形(1.5)是2)。


-1
投票

两个变量都不会获得值1.因为范围从0.0000000到0.5000000之间的值将四舍五入为0,但是当您在0.5之后增加任何十进制位时它将四舍五入为1。

© www.soinside.com 2019 - 2024. All rights reserved.