这是在csdn这看到的小数点的保留位数的方法,
看看是否有用:function fixTo(s,i){
if (s==null || s=="" || isNaN(s) || Math.round(s)==0) return 0;
i = Math.round(i);
if (i==0) return Math.round(s);
if (i==null || isNaN(i) || i<0) i=2;
var v = Math.round(s*Math.pow(10,i)).toString();
if (/e/i.test(v)) return s;
return v.substr(0,v.length-i)+"."+v.substr(v.length-i);
}
alert(fixTo(1234.1234))
alert(fixTo(1234.1234,1))
alert(fixTo(1234.1234,10))
alert(fixTo(1234.1234,20))
alert(fixTo(1234.1234,0))
alert(fixTo(123456782))
<script>
Number.prototype.fix = function(num)
  {with(Math)return round(this.valueOf()*pow(10,num))/pow(10,num)
  }
alert(2.1234567898.fix(2));
alert(12.67898.fix(1));
alert(12.56456.fix(4));
</script>IE5.5以上直接有方法:最简单的办法就是
<script>
aa=23.344423426
alert(aa.toFixed(2));
alert(aa.toFixed(5))
</script>
精确到多少位就带参数几 yourNumber.toFixed(n)