Python 3使用舍入到偶数方法根据IEEE 754标准进行舍入。
如果您想采用另一种方式取整,则只需手动实施即可:
import math
def my_round(n, ndigits):
part = n * 10 ** ndigits
delta = part - int(part)
# always round "away from 0"
if delta >= 0.5 or -0.5 < delta <= 0:
part = math.ceil(part)
else:
part = math.floor(part)
return part / (10 ** ndigits)
用法示例:
In [12]: my_round(0.3125, 3)
Out[12]: 0.313
在python2中,舍入总是远离零,而在python3中,它舍入为偶数。(例如,请参见round
功能文档中的2.7和3.3之间的区别)。