似乎在我能找到的每个定义中都round half to even
包含nearest even integer
(例如,Python 的十进制文档),好像只有整数被四舍五入。但是,如果我对小于 1 的小数进行四舍五入,它似乎遵循相同的原则,只是将角色分配给integer
我要四舍五入的小数位。例子:
>>> THREE_PLACES = decimal.Decimal('0.000')
>>>
>>> decimal.Decimal('.0005').quantize(THREE_PLACES)
>>> Decimal('0.000')
>>>
>>> decimal.Decimal('.0015').quantize(THREE_PLACES)
>>> Decimal('0.002')
在此示例中,小数点后第三位的值似乎扮演整数的角色(向下舍入0
和向上舍入2
)。这是处理小于零的数字的ROUND_HALF_EVEN
指定方式(以及Python应该如何工作),如果是这样,我只是误解了这种情况下“整数”的含义吗?或者,还有更多的故事,也许这只是一个巧合?