Python格式化小数问题——四舍六入五成双

四舍六入五成双

In [2]: '{:.2f}'.format(0.135)
Out[2]: '0.14'
In [3]: '{:.2f}'.format(0.145)
Out[3]: '0.14'
In [4]: '{:.2f}'.format(0.1351)
Out[4]: '0.14'
In [5]: '{:.2f}'.format(0.1352)
Out[5]: '0.14'

偶然遇到这种情况的我一脸懵逼,我淦,后来了解到当用format去格式化数据的时候,遵循以下规则:

  • 被修约的数字小于5时,该数字舍去;
  • 被修约的数字大于5时,则进位;
  • 被修约的数字等于5时,要看5前面的数字,若是奇数则进位,若是偶数则将5舍掉,即修约后末尾数字都成为偶数;若5的后面还有不为“0”的任何数,则此时无论5的前面是奇数还是偶数,均应进位。

你可能感兴趣的:(Python)