Math.Round(3.44, 1); //Returns 3.4.
Math.Round(3.45, 1); //Returns 3.4.
Math.Round(3.46, 1); //Returns 3.5.

解决方案 »

  1.   

    楼上
    ?
    Math.Round(3.45, 1); //Returns 3.4.这个返回  3.5 才对哦,所以光用 Round 是不够的
      

  2.   

    请看这篇http://blog.joycode.com/ghj/posts/9474.aspx
      

  3.   

    study
    可不可以用截取的办法。如>=5 加1
    <5不变
      

  4.   

    试一下这个函数:
    function FormatNumber(srcStr,nAfterDot){
      var srcStr,nAfterDot;
      var resultStr,nTen;
      srcStr = ""+srcStr+"";
      strLen = srcStr.length;
      dotPos = srcStr.indexOf(".",0);
      if (dotPos == -1){
        resultStr = srcStr+".";
        for (i=0;i<nAfterDot;i++){
          resultStr = resultStr+"0";
        }
      }
      else{
        if ((strLen - dotPos - 1) >= nAfterDot){
          nAfter = dotPos + nAfterDot + 1;
          nTen =1;
          for(j=0;j<nAfterDot;j++){
            nTen = nTen*10;
          }
          resultStr = Math.round(parseFloat(srcStr)*nTen)/nTen;
        }
        else{
          resultStr = srcStr;
          for (i=0;i<(nAfterDot - strLen + dotPos + 1);i++){
            resultStr = resultStr+"0";
          }
          
        }
      }
     
     return resultStr;}
      

  5.   

    private int Getint(Double dx)
    {
    if(dx%1>=0.5) //五入
    {
    return dx+1-(dx%1);
    }
    else //四舍
    {
    return dx-(dx%1); }
    }其实很多时候自己怕脑袋拍不出来的时候也可以自己写
      

  6.   

    相关函数还有:
    Math.Ceiling()
    Math.Floor()
      

  7.   

    int i = Math.Ceiling(a/b);