MySql数据类型分析(银行家舍入法) Part3

四舍五入和银行家舍入法

一.四舍五入是一种应用非常广泛的近似计算方法,其有算术舍入法和银行家舍入法两种。

 
所谓算术舍入法,就是我们通常意义上的四舍五入法。其规则是:当舍去位的数值大于等于5时,在舍去该位的同时向前位进一;当舍去位的数值小于5时,则直接舍去该位。

银行家舍入法即“四舍六入法”,可以概括为:“四舍六入五考虑,五后非零就进一,五后皆零看奇偶,五前为偶应舍去,五前为奇要进一”。

二.  .net下默认是银行家舍入法

给大家写个小例子,可以更好 明白 银行家舍入法

class Program
      {
          static  void Main(string[] args)
          { 
             do
             {
                Console.WriteLine("请输入一个小数回车测试,输入其他回车结束测试");
                 string Num = Console.ReadLine();
                  try
                 {
                      Console.WriteLine("结果为" + Convert.ToInt16(Convert.ToDouble(Num)));
                  }

                  catch (Exception e) {

                      break;

                  } 

             }

             while (true );
          }
      }
得到结果如下:


如果需要用到 四舍五入法,可以用以下方法:

1)
public decimal Round(decimal x, int len) 

return Decimal.Round(x + 0.000001m, len); 
}
2)
或者 用Round的第三个参数 MidpointRounding.AwayFromZero





原文地址:https://www.cnblogs.com/chenpan/p/3661845.html