javascript逗号添加函数
javascript数字添加逗号函数
例
方法一
function CommaFormatted(amount){
var delimiter = ","; // replace comma if desired
var a = amount.split('.',2)//把接收到的参数按照.分割成两部分。如果如果没有逗号 a.length =1
//var d = a[1];//保留小数点后面的数字
var i = parseInt(a[0]);
if(isNaN(i)) { return ''; } //判断是否是数字
var minus = '';
if(i < 0) { minus = '-'; } //如果是负数,minus设置 "-" (负号),正数,设置成""(空字符串)
i = Math.abs(i); //取绝对值
var n = new String(i); //新建一个字符串i
var array = []; //新建一个数组
while(n.length > 3)
{
var nn = n.substr(n.length-3);//substr从起始位置到结尾的字符串,即最后三个字符
array.unshift(nn);//unshift() 方法可向数组的开头添加一个或更多元素,并返回新的长度。
n = n.substr(0,n.length-3);//字符串n值保留起始到原来的长度leagth-3的地方(删除了后三个)
}
if(n.length > 0) { array.unshift(n); }//如果字符串n还有字符直接加到a里面
n = array.join(delimiter);//join() 方法用于把数组中的所有元素放入一个字符串。
if(a.length == 1) { amount = n; } //如果没有小数点amount=n
else { amount = n + '.' + a[1]; } //如果有小数点amount = n+"小数点后数字"
amount = minus + amount;//
return amount;
}
// end of function CommaFormatted()
方法二
function addCommas(nStr){
nStr += '';
x = nStr.split('.');
x1 = x[0];
x2 = x.length > 1 ? '.' + x[1] : '';
var rgx = /(\d+)(\d{3})/;
while (rgx.test(x1)) {
x1 = x1.replace(rgx, '$1' + ',' + '$2');
}
return x1 + x2;
}
说明,网上找的,修改了一个错误地方,加上了,注释,至于,这两个两个效率更高就不知道了
理论上你方法写的好的话,效率应该会比正则表达式高。 未验证。。。
浙公网安备 33010602011771号