您的位置:首页 > 编程学习 > ASP.NET > 正文

asp.net小数点四舍五入

更多 时间:2016-3-16 类别:编程学习 浏览量:752

asp.net小数点四舍五入

asp.net小数点四舍五入

一、Math.Round默认规则

四舍六入五取偶(又称四舍六入五留双),即:

当舍去位的数值小于5时,直接舍去该位;当舍去位的数值大于等于6时,在舍去该位的同时向前位进一;当舍去位的数值等于5时,如果前位数值为奇,则在舍去该位的同时向前位进一,如果前位数值为偶,则直接舍去该位。

例如:

 

  • 
    Math.Round(45.367,2)     //Returns   45.37
    
    Math.Round(45.365,2)     //Returns   45.36
    
    		
  •  

    二、asp.net小数点四舍五入的实现方法

     

  •  
  • C# 代码   复制
  • 
    double RealRound(double value, int decimals)
    {
       if (value < 0)
       {
        return Math.Round(value + 5 / Math.Pow(10, decimals + 1), decimals, MidpointRounding.AwayFromZero);
       }
       else
       {
        return Math.Round(value, decimals, MidpointRounding.AwayFromZero);
       }
    }
    
    				
  •  

    备注:

    带三个参数的Round方法,它的第三个参数是MidpointRounding枚举类型,MidpointRounding枚举类型定义了两个枚举值,为了实现四舍五入,我们这里使用的是MidpointRounding.AwayFromZero这个值。

    MidpointRounding.AwayFromZero枚举值的真正意思是:当一个数字是其他两个数字的中间值时,会将其舍入为两个值中绝对值较大的值。

     

    例如

     

  • 
    RealRound(45.367,2);//Returns   45.37
    
    RealRound(45.365,2);//Returns   45.37   
    
    		
  •  

    标签:ASP.NET