用Javascrīpt取float型小数点后两位,例22.127456取成22.13,如何做?
1. 不可取
function get()
{
var s = 22.127456 + "";
var str = s.substring(0,s.indexOf(".") + 3);
alert(str);
}
2. 正则表达式效果不错
<scrīpt type="text/javascrīpt">
onload = function(){
var a = "23.456322";
var aNew;
var re = /([0-9]+/.[0-9]{2})[0-9]*/;
aNew = a.replace(re,"$1");
alert(aNew);
}
</scrīpt>
3. 变通使用Math
<scrīpt>
alert((Math.floor(555.55544444*100))/100);
</scrīpt>
---------------- 以上3个都是不能四舍五入的----------------
4 会用新鲜东西的朋友....... 但是需要 IE5.5+才支持。
<scrīpt>
var num=22.127456;
alert( num.toFixed(2));
</scrīpt>
5、
<scrīpt>
var num=22.127456;
alert( Math.round(num*100)/100);
</scrīpt>
<script>
function roundAmount(n) {
var s = "" + Math.round(n * 100) / 100
var i = s.indexOf('.')
if (i < 0)
return s + ".00"
var t = s.substring(0, i + 1) + s.substring(i + 1, i + 3)
if (i + 2 == s.length)
t += "0"
return t
}
alert(roundAmount(123.125));
</script>