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