四舍五入经常出现在我们的生活中。一直以来,在以往的科学计算中我们通常使用四舍五入对浮点数(小数)做小数点后位数保留,逢五就进一,其实呢,这种舍入方法是比较“粗犷”的,如果银行等金融领域使用这种舍入方法,那储户们可能就会出现一家欢喜一家愁的情况,完全乱套了。
在很多科学计算里大家都习惯性的把round函数叫做四舍五入,其实有一种叫法更科学,更贴切:奇进偶舍 。下面我们用Python的round()函数详细的分析说明下,实例代码:
这样我们就能得出一个结论:奇进偶舍
注意:以“个位数”的奇偶性做为参考点的。
如果小数点左边个位数为偶数时,小数点右边第一位数>=6则进位,<6时则舍去
如果小数点左边个位数为奇数时,小数点右边第一位数>=5则进位,<5时则舍去
我们接着往下看,以保留1位数为例,实例代码:
我们很容易得出一个结论:
如果保留位的后一位>=6 则进位;否则舍去
我们又得出一个结论:
如果保留位的后一位>=5,且该位数后还有数字,则进位;否则舍去
我们再看看保留两位数的情况:
总结一下:“奇进偶舍”比“四舍五入”在科学计算中更准确,它舍入后的结果误差均值趋于零,而四舍五入则是逢五则入,如果大量数据采用四舍五入会造成统计结果偏大;
奇进偶舍,又称为四舍六入五成双规则、银行进位法(Banker's Rounding),是一种计数保留法;在数值修约规则里很早就用“四舍六入五成双” 取代了“四舍五入”.
那么以后我们在Python中使用round函数时,就叫它奇进偶舍函数吧。当然了,其它的编程语言也一样哦!
再见 “四舍五入”,你好 “奇进偶舍” !
OK,今天我们就聊到这里了。如果您有什么问题,请在评论区留言,我会及时回复,感谢!