用Javascript取float型小数点后两位,例22.127456取成22.13,如何做?
1. 最笨的办法
1 function get()2 {
3 var s = 22.127456 + "";
4 var str = s.substring(0,s.indexOf(".") + 3);
5 alert(str);
6 }
2. 正则表达式效果不错
1 <script type="text/javascript">2 onload = function(){
3 var a = "23.456322";
4 var aNew;
5 var re = /([0-9]+\.[0-9]{2})[0-9]*/;
6 aNew = a.replace(re,"$1");
7 alert(aNew);
8 }
9 </script>
3. 他就比较聪明了
1 <script>2 var num=22.127456;
3 alert( Math.round(num*100)/100);
4 </script>
4.会用新鲜东西的朋友....... 但是需要 IE5.5+才支持。
1 <script>
2 var num=22.127456;
3 alert( num.toFixed(2));
4</script>
5. 数字舍入toFixed()
其中是利用一个函数toFixed 来取小数点几位的!
var a = "0.11";
var b = "0.2801";
var c = "1.002";
var sum1 = parseFloat(a)+parseFloat(b)+parseFloat(c);
var sum2 = (parseFloat(a)+parseFloat(b)+parseFloat(c)).toFixed(4)
document.write("a+b+c="+sum1);
document.write("<br/>")
document.write("a+b+c="+sum2)
</script>
a,b,c相加本来为1.3921,但sum1得出的结果为:1.3921000000000001,显然不正确,通过toFixed(n)方法修正后(n是精确的小数点位数),得到正确结果。
例如:parseFloat(1.392143).toFixed(3)=1.392;
来自:http://hi.baidu.com/yansueh/item/f026d8d759ca10c31a72b4e9