C# 四舍五入 处理方案

来源:互联网 发布:windows命名管道 java 编辑:程序博客网 时间:2024/05/01 10:42

      decimal   x=1100.45,要保留小数点后一位。

 

解决方法:

 

      decimal y=Math.Round(x , 1, MidpointRounding.AwayFromZero);

     

      Math.Round本不是四舍五入的方法,不过在这里恰好能完成需求,值得注意的是MidpointRounding这个枚举类型要是AwayFromZero。

 

      如果要保留十位数,如何解决?因为Math.Round 的第二个参数的大小范围只能在0~15之间,不能为负数。所以采取一种比较走歪路的方式:

 

       decimal y=Math.Round(x/10 , 1, MidpointRounding.AwayFromZero)*10;

 

先将x除以10,然后根据最开始的方式保留一位,再乘以10。呵呵。