thanks

解决方案 »

  1.   

    Math.Round(4.4); //Returns 4.0.
    Math.Round(4.5); //Returns 4.0.
    Math.Round(4.6); //Returns 5.0.
      

  2.   

    Math.Round(45.367,2)//Returns 45.37
      

  3.   

    楼上正解。建议楼主:多利用MSDN,不用事事都跑网上来问,应该学会自己解决问题。
      

  4.   

    double d=1.12345;
    d=double.Parse(d.ToString("0.00"));
    这样后,d=1.12
      

  5.   


    using System;class Truncate
    {
    const decimal Zero = 0m;
    const double Ten = 10;
    public static decimal RoundedDecimal(decimal mSource, double dDigits)     //mSource为想进行四舍五入的数据,dDigits表示想保留的小数位数
    {
    decimal mFactor1, mFactor2;
    mFactor1 = mSource < Zero ? -0.5m : 0.5m;                             // 如果mSource为负数则返回 -0.5m, 否,则返回 0.5m
    mFactor2 = Convert.ToDecimal(Math.Pow(Ten, dDigits));
    return (Decimal.Truncate(mSource * mFactor2 + mFactor1)) / mFactor2;  // Decimal.Truncate() 方法 只会返回整数部分
    }
    }
      

  6.   

    //上面格式不行,请看下面的
    using System;class Truncate
    {
    const decimal Zero = 0m;
    const double Ten = 10;
             //mSource为想进行四舍五入的数据,dDigits表示想保留的小数位数
    public static decimal RoundedDecimal(decimal mSource, double dDigits)     
        {
    decimal mFactor1, mFactor2;
                      // 如果mSource为负数则返回 -0.5m, 否,则返回 0.5m
    mFactor1 = mSource < Zero ? -0.5m : 0.5m;                              mFactor2 = Convert.ToDecimal(Math.Pow(Ten, dDigits));
                     // Decimal.Truncate() 方法 只会返回整数部分
    return (Decimal.Truncate(mSource * mFactor2 + mFactor1)) / mFactor2;  
    }
    }
      

  7.   

    在JavaScript权威指南中看到这样一个算法,相信你看了就明白了
    呵呵,很妙var num = 3.14159;
    num = Math.round(num * 100) / 100;