用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实现千位分隔符,怎么实现的主要内容,如果未能解决你的问题,请参考以下文章