<script language="javascript">
Number.prototype.toFixed = function(len)
{
    //IE5.5支持toFixed,但是IE5.0不支持.兼容性.所以,IE5.0下自己实现.
    return Math.round(this * Math.pow(10,len))/Math.pow(10,len)
}
var i = 21.333 ;
alert(i.toFixed(2))
</script>

解决方案 »

  1.   

    <script language="javascript">
    Number.prototype.toFixed = function(len)
    {
        //四舍五入,兼容IE5.0
        return Math.round(this * Math.pow(10,len))/Math.pow(10,len)
    }
    Number.prototype.toDiv = function(len)
    {
        //截取,但不四舍五入
        return parseInt(this*Math.pow(10,len))/Math.pow(10,len)
    }
    var i = 21.335 ;
    alert(i.toFixed(2))
    alert(i.toDiv(2))
    </script>
      

  2.   

    Math.round(parseFloat(需要四舍五入的数据)*10)/10 这样是保留1位小数
    Math.round(parseFloat(需要四舍五入的数据)*100)/100 这样是保留两位小数
    Math.round(parseFloat(需要四舍五入的数据)*1000)/1000 这样就保留三位小数了,以此类推
    不用想了,保留小数吧。
      

  3.   

    献丑,自己写了一个.<script>
    function aa()
    {
     var xsw=3;//小数位数,可以自己修改,就是你要保留的小数位数
     var str=document.all.T1.value;
     var position=str.indexOf(".");
     var laststr;
     if (position==-1)
     {
      laststr=str+".";
      for (var i=0;i<xsw;i++)
      {
       laststr=laststr+"0";
      }
      alert(laststr);
      return false;
     }
     if (str.length-1-position<xsw)
     {
      for (var i=0;i<str.length-1-position;i++)
      {
       laststr=str+'0';
      }
     }
     
     if (str.length-1-position==xsw)
     {
      laststr=str;
     }
     
     if (str.length-1-position>xsw)
     {
      var s1=str.charAt(str.indexOf(".")+xsw);
      var s2=str.charAt(str.indexOf(".")+xsw+1);
      if (parseInt(s2)>=5)
      {
       laststr=parseInt(s1)+1+"";
      }
      else
      {
       laststr=s1;
      }
      laststr=str.substring(0,str.indexOf(".")+xsw)+laststr;
     }
     alert(laststr);
    }
    </script>