function formatNum(num, digit) //将数字转换成三位逗号分隔的样式
{
if(!/^(\+|-)?(\d+)(\.\d+)?$/.test(num)){alert("wrong!"); return num;}
var a = RegExp.$1, b = RegExp.$2, c = RegExp.$3;
var re = new RegExp().compile("(\\d)(\\d{3})(,|$)");
while(re.test(b)) b = b.replace(re, "$1,$2$3");
if (c && digit && new RegExp("^.(\\d{"+ digit +"})(\\d)").test(c)){
if (RegExp.$2>4) c = (parseFloat(RegExp.$1)+1)/Math.pow(10, digit);
else c = "."+ RegExp.$1;}
return a +""+ b +""+ (c+"").substr((c+"").indexOf("."));
}
alert(formatNum(-12345678.005, 2));
alert(formatNum("12345678.1256246", 6));
alert(formatNum("10000000000000000000000000000000000000000"));
{
if(!/^(\+|-)?(\d+)(\.\d+)?$/.test(num)){alert("wrong!"); return num;}
var a = RegExp.$1, b = RegExp.$2, c = RegExp.$3;
var re = new RegExp().compile("(\\d)(\\d{3})(,|$)");
while(re.test(b)) b = b.replace(re, "$1,$2$3");
if (c && digit && new RegExp("^.(\\d{"+ digit +"})(\\d)").test(c)){
if (RegExp.$2>4) c = (parseFloat(RegExp.$1)+1)/Math.pow(10, digit);
else c = "."+ RegExp.$1;}
return a +""+ b +""+ (c+"").substr((c+"").indexOf("."));
}
alert(formatNum(-12345678.005, 2));
alert(formatNum("12345678.1256246", 6));
alert(formatNum("10000000000000000000000000000000000000000"));
解决方案 »
- google的jsapi问题
- js 跳到最外层的框架
- oncontextmenu与onmousedown有何区别
- 点击返回 不跳转
- 网页中一行字的秘密。。。求教高手!!!!
- 请问childNodes是只能在xml中使用还是普通的HTML也行
- 帮忙看看!怎样把对话框里面的值或者一个网页的输入值传到另一个网页的text框中!谢谢!
- 如果页面中有一个下载链接,点击该下载联接之后,为什么页面中的所有javascript代码都汇报错?
- 如何在javascript中处理一个长度为20的数字?
- JAVASCRIPT中如何调用JAVA中数组的某个元素
- 留言板回复内容修改问题,急啊~~
- $$$$$$$$$$$ JavaScript中的动态显示问题
例3/sina/5.html 加密后,形成如我标题中的样子,一长窜的数字98,105,110,103,108,97,110,47,48,49,52,48,47,49,46,87,109,97然后可以用unescape还原回来。