龙空技术网

聊一下:简单讲下Math.Round银行家算法

到底想咋样啊 105

前言:

眼前朋友们对“银行家算法作用”大概比较珍视,兄弟们都想要剖析一些“银行家算法作用”的相关内容。那么小编也在网摘上收集了一些对于“银行家算法作用””的相关内容,希望姐妹们能喜欢,看官们快快来了解一下吧!

默认情况下,Math.Round使用银行家算法(四舍六入五取偶),与我们日常的四舍五入方法有所区别。

银行家算法:四舍六入五考虑,五后非空就进一,五后为空看奇偶,五前为偶应舍去,五前为奇要进一

银行家算法的好处:跟通常的四舍五入相比,平均数方面更能保持原有数据的特性即偏差水平符合统计学的预期。

正常情况下四舍五入中位数我们总是向上进位,当数据足够多时中位数进位产生的误差是巨大的,所以提出了银行家算法,中位数一半进位一半舍弃,这样它们就可以相互补偿,最终使结果符合我们的预期

// 摘要:    // 将小数值舍入到指定数量的小数位,并为中点值使用指定的舍入规则。    public enum MidpointRounding    {        //        // 摘要:        //   当一个数字位于另外两个数字的中间时,它四舍五入到最近的偶数        ToEven = 0,        //        // 摘要:        //  当一个数字位于另外两个数字的中间时,它会向离0最近的数字四舍五入。        AwayFromZero = 1    }

标签: #银行家算法作用 #银行家算法的应用