Python Rounding Inconsistently

Jam*_*man 7 python rounding

如果我告诉Python v.3.4.3 round(2.5),那么它输出2.如果我告诉它,round(1.5)那么它也输出2.同样,round(3.5)给出4,同时round(4.5)给出4.不过,我需要Python来保持一致性.具体来说,它需要在我输入两个整数之间的数字的任何时候进行舍入.所以round(1.5) = 1round(2.5) = 2,而round(1.6) = 2与这样的,像往常一样.

我该如何解决这个问题?

编辑:我已经阅读了该round函数的文档,并了解这是它的预期行为.我的问题是,我怎么能改变这种行为,因为为了我的目的,我需要1.5轮下来.

小智 5

与 Python 2 相比,Python 3 使用不同的舍入行为:它现在使用所谓的“银行家舍入”(维基百科):当整数部分是奇数时,数字从零舍入;当整数部分是偶数时,它是否向零四舍五入。

这样做的原因是为了避免偏差,因为 0.5 处的所有值都从零舍入(然后例如求和)。

这是您所看到的行为,并且实际上是一致的。这可能与您习惯的不同。