C# Math.Round

Posted 南风叶

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# Math.Round相关的知识,希望对你有一定的参考价值。

C#中Math.Round()方法默认重载实现的不是常有的四舍五入方法,而是四舍六入五求偶方法(也叫四舍六入五成双)。

 

一、四舍六入五成双

四舍六入五成双是一种比较精确比较科学的计数保留法,是一种数字修约规则。

这一方式的另一个常见名称为“银行家舍入”,是IEEE754标准_百度百科的推荐舍入标准。

具体规则如下:
1. 被修约的数字小于5时,该数字舍去;
2. 被修约的数字大于5时,则进位;
3. 被修约的数字等于5时,要看5前面的数字,若是奇数则进位,若是偶数则将5舍掉,即修约后末尾数字都成为偶数;若5的后面还有不为“0”的任何数,则此时无论5的前面是奇数还是偶数,均应进位。
 

二、四舍五入

如果要使用Math.Round()实现四舍五入,要用重载方法decimal Round(decimal d, int decimals, MidpointRounding mode)

这样计算出来的小数才是真正的中国式四舍五入!!

 
 

 

以上是关于C# Math.Round的主要内容,如果未能解决你的问题,请参考以下文章

c# 四舍五入上取整下取整

Java中四舍五入和四舍六入五成双

Java中四舍五入和四舍六入五成双

Java中四舍五入和四舍六入五成双

Unity中实现四舍五入

Unity中实现四舍五入