Created
May 19, 2014 23:42
-
-
Save jikeytang/b810d94ecc62322ac4d1 to your computer and use it in GitHub Desktop.
[ Javascript ] - 20140520-题目2
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
如何将阿拉伯数字每三位一逗号分隔,如:15000000转化为15,000,000。 | |
回复时注意加上下面这句话,才会有语法高亮或格式缩进。 | |
```javascript |
sfger
commented
May 20, 2014
var num=150;//1,500,000,000
function fuckNum(num){
var num=num+'';
var len=num.length,str="",len2=len,str2=num.substr(0,len%3==0?3:len%3);
for(;len>0;len--){
if(len2-len==3){
len2=len;
str=','+num.substr(len,3)+str;
}
}
return (str2+str);
}
alert(fuckNum(num));
'1500000000000'.replace(/\B(\d{3})/g, ',' + '$1');
//缺点:数字受 Number.MAX_SAFE_INTEGER 限制,还是用正则操作字符串更好。
1500000000000..toLocaleString();
sunnylost牛逼
var num = 1500000000000;
temp = num +'';
temp = temp.split('').reverse();
for(var i = 0 ; i < temp.length; i ++){
if(i!=0 && i%3 == 0){
temp[i] = temp[i] + ',';
}
}
temp = temp.reverse().join('')
console.log( temp );
// 上面的正则太强大了 容我细细品味
var cut_str_to_bankNum = function(num_str, delimiter){
num_str = num_str.replace(/\s/g, '');
if(/^\d+$/.test(num_str)){
delimiter = delimiter || ',';
num_str = num_str.split('').reverse();
return num_str.join('').replace(/(\d{3})/g, "$1"+delimiter).split('').reverse().join('');
}
};
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment