1

似乎在我能找到的每个定义中都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应该如何工作),如果是这样,我只是误解了这种情况下“整数”的含义吗?或者,还有更多的故事,也许这只是一个巧合?

4

1 回答 1

1

你的解释是正确的。文档不清楚,可能应该使用这个词digit而不是integer. ROUND_HALF_EVEN 意味着结果的最后一位数字将是偶数(当精确舍入 ....5000 时)。

于 2013-04-04T23:37:51.833 回答