var a=3.237;
//取2位小数,4舍5入,则
a=a+0.005;
//a=3.242
a=a.toString();
然后去小数点后面2位的截掉(3.24)。(以上为正数时候)

解决方案 »

  1.   

    var result=Math.round(original*100)/100  //returns 28.45
      

  2.   

    <script>
    var original=28.445;
    var result=Math.round(original*100)/100  //returns 28.45
    alert(result);
    </script>
      

  3.   

    JS中有该功能的内部函数:Math.round(arg);//返回arg经四舍五入后的值
      

  4.   

    <html>
    <head>
    <SCRIPT LANGUAGE="javascript">
    function FormatNumber1(srcStr,nAfterDot){
        alert(srcStr);
      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";
        }
        return resultStr;
      }
      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;
          return resultStr;
        }
        else{
          resultStr = srcStr;
          for (i=0;i<(nAfterDot - strLen + dotPos + 1);i++){
            resultStr = resultStr+"0";
          }
          return resultStr;
        }
      }

    </script>
    </head>
    <body>
    <input type="button" onclick="alert(FormatNumber1('23324.5447342',3));" />
    </body>
    </html>
    保留三位小数,第四位四舍五入
      

  5.   

    请问:dotPos = srcStr.indexOf(".",0);
    是不是求的该数的小数部位有几位???
    那(strLen - dotPos - 1) >= nAfterDot应该是用来判定它的小数部位大于要精确
    到的位数
    可是不理解,感觉strLen - dotPos - 1的结果是该数的整数部分的位数,那就讲不通了??能否给解释一下,谢谢了!!!
      

  6.   

    呵呵,已经明白,突然发现问题!
    恰恰相反,这dotPos = srcStr.indexOf(".",0);是用来获得整数部位有几位的!!真是好幼稚!
      

  7.   

    /*  
    *    ForDight(Dight,How):数值格式化函数,Dight要  
    *    格式化的  数字,How要保留的小数位数。  
    */  
    function  ForDight(Dight,How)  
    {  
               Dight  =  Math.round  (Dight*Math.pow(10,How))/Math.pow(10,How);  
               return  Dight;  
    }  
    alert(ForDight(12345.67890,2));