Js怎么实现在数字中插逗号的功能?

需求是从右往左,每逢3个数字加一个逗号,再逢2个数字加一个逗号,如此循环。比如123456789,处理后变成1,234,56,789

阅读 4.5k
5 个回答

使用正则实现, 一行完成功能。

function splitNumber(originalStr) {
   return originalStr.split('').reverse().join('').replace(/(\d{3})(\d{2}|\d|\B)/g, '$1,$2,').replace(/,$/,'').split('').reverse().join('');   
}

var str = '123456789';
console.log(splitNumber(str));   // 输出 1,234,56,789
var origStr="123456789";
var result="";
result=splitNumber(origStr);
console.log(result);

function splitNumber(s){
    var sArr=s.split("").reverse();
    var b=[];
    for(var i=0;i<sArr.length;i++){
        if(i!=0 && (i%5==0 || i%5==3)){
            b.push(",");
            b.push(sArr[i]);
        }
        else
            b.push(sArr[i]);
    }
    return b.reverse().join("");
}
function change(num,bool){
    function tho(num){return num>1000?String(num).slice(-5,-3)+','+String(num).slice(-3):num}
  return num<100000?tho(num):change(parseInt(num/100000))+","+tho(num)
}    
新手上路,请多包涵

function splitNumbers(s) {

return s.replace(/(?<=\d)(?=(\d{3})+$)/g, ',')

}

splitNumbers('2324243234') // "2,324,243,234"

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题