问题
round 是python的一个内置函数,解释如下:
For the built-in types supporting round(), values are rounded to the closest multiple of 10 to the power minus ndigits; if two multiples are equally close, rounding is done toward the even choice (so, for example, both round(0.5) and round(-0.5) are 0, and round(1.5) is 2).
但是发现根本不是简单的四舍五入,当要处理的尾数是5时,也没有什么所谓的奇数偶数原则。
例子
for x in range(10):
'1.'+ '4'*x + '5≈' + str(round(float('1.' + '4'*x + '5'),x))
输出
‘1.5≈2.0’
‘1.45≈1.4’
‘1.445≈1.45’
‘1.4445≈1.444’
‘1.44445≈1.4445’
‘1.444445≈1.44444’
‘1.4444445≈1.444444’
‘1.44444445≈1.4444444’
‘1.444444445≈1.44444445’
‘1.4444444445≈1.444444444’