背景:今天在对使用 Powerautomate 对 0.985 小数进行四舍五入时,保留两位小数时,结果却是 0.98, 使用python去计算也是这样
查询了大量的资料,才知道 有一个叫 银行家舍入法,又称【四舍六入五取偶法】的规则算法
银行家舍入法,又称“四舍六入五取偶法”,是由IEEE 754标准推荐的浮点数取整算法,主要用于减少累计误差并维持数据统计特性 。
银行家舍入法是由IEEE 754标准规定的浮点数取整算法,大部分的编程软件都使用的是这种方法。 所谓银行家舍入法,其实质是一种四舍六入五取偶(又称四舍六入五留双)法。
“四舍六入五成双”,也即“4舍6入5凑偶”,这里“四”是指≤4时舍去,"六"是指≥6时进上。
"五"指的是根据5后面的数字来定,当5后有数时,舍5入1;当5后无有效数字时,需要分两种情况来讲:5前为奇数,舍5入1;5前为偶数,舍5不进(0是偶数)。
该规则因在金融领域被长期采用而得名,其设计初衷是平衡传统四舍五入导致的系统性偏差,确保大数据量的舍入结果均值更接近原始值。
作为IEEE标准推荐算法,现已成为主流编程语言和数据处理工具的默认舍入方式 。
举例说明一下:如下所示
因此对于我们正常处理数据而言,主要是当修约位为5时,可能会出现预期之外的结果!
尊重别人的劳动成果 转载请务必注明出处:https://www.cnblogs.com/5201351/p/19098929
作者:一名卑微的IT民工
出处:https://www.cnblogs.com/5201351
本博客所有文章仅用于学习、研究和交流目的,欢迎非商业性质转载。
由于博主的水平不高,文章没有高度、深度和广度,只是凑字数,不足和错误之处在所难免,希望大家能够批评指出。
博主是利用读书、参考、引用、复制和粘贴等多种方式打造成自己的文章,请原谅博主成为一个卑微的IT民工!