var offset = value.length % 3;
var result = value.substring(0, offset);
for (var i = offset; i < value.length; i += 3 ) {
if (result.length != 0) {
result += ",";
}
result += value.substring(i, i + 3);
}
return result;
}
比较简单的做法:利用vbs的FormatNumber
<script language="vbscript">
Function FormatNum(n,p)
FormatNum = FormatNumber(n,p,0,0,-1)
End Function
</script>
<script language="javascript">
var n=12375634341.344556;
alert(FormatNum(n,6))
</script>
by 梅花雪(meizz)
//将数字转换成三位逗号分隔的样式
function formatNum(s)
{
if(!/^(\+|-)?\d+(\.\d+)?$/.test(num)){alert("wrong!"); return num;}
var re = new RegExp().compile("(\\d)(\\d{3})(,|\\.|$)");
num += "";
while(re.test(num))
num = num.replace(re, "$1,$2$3")
return num;
}
alert(formatNum(-12345678.123));
alert(formatNum("12345678.123"));
alert(formatNum("10000000000000000000000000000000000000000"));