python浮点数四舍五入方法小记

@


python中的四舍五入很诡异,据说有着这样的规则:“四舍六入五平分”,“五平分”就是根据取舍的位数前的小数奇偶性来判断,奇偶平分,符合公平性原则(四舍五入不是公平的)。

1 round()方法

内置函数round( x [, n]),如果不给n值返回整数值。(以下代码基于python3.7)

>>> round(2.685)
3
>>>
>>> round(2.655,2)
2.65
>>> round(2.685,2)
2.69
>>>

2 格式化字符串的方法

2.1 format 格式化函数

很久以前这是我用格式化字符串时的真爱,后面遇见了%运算符后,我就移情别恋了。当然我也忘不了它,它在四舍五入的功能见下面代码。

>>> "{:.2f}".format(2.655)
'2.65'
>>> "{:.2f}".format(2.685)
'2.69'

2.2 %运算符

%运算符使用起来很是顺手哇,不愧是真爱哇!

>>> "%.2f"%2.655
'2.65'
>>> "%.2f"%2.685
'2.68'

3 总结

可能还有其他方法,但是试验过后,发现结果不仅与取舍的位数前的小数奇偶性有关,还与保留几位小数有关!想要追求老师教的四舍五入,还是自己写函数吧,自带的方法有些与众不同!

原文地址:https://www.cnblogs.com/tankeyin/p/12159258.html