用js实现千位分隔符,怎么实现

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用js实现千位分隔符,怎么实现相关的知识,希望对你有一定的参考价值。

function ce(num) 
return num && (num.toString().indexOf('.') != -1 ? num.toString().replace(/(\\d)(?=(\\d3)+\\.)/g,
function($0, $1) 
return $1 + ",";
) : num.toString().replace(/(\\d)(?=(\\d3))/g, function($0, $1) 
      return $1 + ",";
    ));

console.log(ce(1353400.23));

参考技术A // 正则
function thousandBitSeparator(num) 
    return num && num
        .toString()
        .replace(/(\\d)(?=(\\d3)+\\.)/g, function($0, $1) 
            return $1 + ",";
        );

console.log(thousandBitSeparator(-1234567.9012));
// -1,234,567.9012

js实现千位分隔符

//正则表达式实现千位分隔符
function format(num){
    var reg = /\d{1,3}(?=(\d{3})+$)/g;
    return (num + ‘‘).replace(reg, ‘$&,‘);
}
console.log(format(13123903243));  //13,123,903,243

解释:

正则表达式 \d{1,3}(?=(\d{3})+$)  表示前面有1~3个数字,后面的至少由一组3个数字结尾。

?=表示正向引用,可以作为匹配的条件,但匹配到的内容不获取,并且作为下一次查询的开始。

 $& 表示与正则表达式相匹配的内容。

//常规循环方法实现千位分隔符
function format1(num){
    num = num + ‘‘;  //数字转字符串
    var str = "";
    for(var i=num.length-1,j=1; i>=0; i--,j++){
        if(j%3==0 && i!=0){         //每隔三位加逗号,过滤正好在第一个数字的情况 
            str += num[i] + ‘,‘;    //加千分位逗号 
            continue;
        }
        str += num[i];
    }
    return str.split(‘‘).reverse().join(‘‘);  //字符串=>数组=>反转=>字符串 
}
console.log(format1(13123903243));  //13,123,903,243

 

 

 

 

 

以上是关于用js实现千位分隔符,怎么实现的主要内容,如果未能解决你的问题,请参考以下文章

多种方式实现千位分隔符

JS从入门到放弃,千位分隔符

js实现千位分隔符

千位分隔符的JS实现

写一个js函数,添加千位分隔符

js实现千位分隔