js取小数点后两位 小数点操作方法总结
用Javascript取float型小数点后两位,例22.127456取成22.13,如何做?
1. 最笨的办法
1 function get(){ 2 var s = 22.127456 + ""; 3 var str = s.substring(0,s.indexOf(".") + 3); 4 alert(str); 5 }
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 来取小数点几位的!
1 <script language="javascript"> 2 var a = "0.11"; 3 var b = "0.2801"; 4 var c = "1.002"; 5 var sum1 = parseFloat(a)+parseFloat(b)+parseFloat(c); 6 var sum2 = (parseFloat(a)+parseFloat(b)+parseFloat(c)).toFixed(4) 7 document.write("a+b+c="+sum1); 8 document.write("<br/>") 9 document.write("a+b+c="+sum2) 10 </script>
a,b,c相加本来为1.3921,但sum1得出的结果为:1.3921000000000001,显然不正确,通过toFixed(n)方法修正后(n是精确的小数点位数),得到正确结果。
例如:parseFloat(1.392143).toFixed(3)=1.392;