哦,晕,是要JS的。shuzhi.toFixed(2);

解决方案 »

  1.   

    我写一个
    声明,方法不是很好,仅供参考
    <script language="javascript">
    var num = "12.03456";
    alert(num.replace(/^\d+\.?(\d*)/,"$1").length);
    </script>
      

  2.   

    toFixed 方法
    返回一个字符串,代表一个以定点表示法表示的数字。numObj.toFixed([fractionDigits])参数
    numObj必选项。一个 Number 对象。fractionDigits可选项。小数点后的数字位数。其值必须在 0 – 20 之间,包括 0 和 20。说明
    toFixed 方法返回一个以定点表示法表示的数字的字符串形式。该字符串中小数点之前有一位有效数字,而且其后必须包含 fractionDigits 数字。如果没有 fractionDigits 参数,或者该参数为 undefined,toFixed 方法假定该值为 0。
      

  3.   

    <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>
    保留三位小数,第四位数四舍五入