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

JavaScript015

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

数字转换为带千位分隔符格式的数字字符串,类似这样的需求,前后端都可以处理。在前端,一般么,都是把数字字符串转换成数组,每个3个加入',',push到数组中,或者通过字符串累加,每隔三位加逗号,过滤正好在第一个数字的情况,加千分位逗号

方法1:

方法2:

js内置方法 toLocaleString

具体内容可以参考官网

方法3: 正则表达式,着重推荐!!!要是在面试中,能手写出来,可以无敌一下下

第三个方法是最好的,有疑惑的同学可以有时间阅读一下原文,解释的很详细

https://blog.csdn.net/lxcao/article/details/52728246?utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2

方法4: 正则表达式 和 replace

参考阅读:

1. 正则表达式30分钟入门教程

2. String.prototype.replace()

3. https://www.jianshu.com/p/928c68f92c0c

周六周日都在加班,周一又通宵到4点,周二下午打电话又让我赶别的需求。诶,心累,就懒得整理了,大家自己看吧。要是有人有兴趣,我可以提供杭州比较坑的公司excel list,也是别人转发的,不知道是不是真的,就当看看吧

function ce(num) {

return num && (num.toString().indexOf('.') != -1 ? num.toString().replace(/(\d)(?=(\d{3})+\.)/g,

function($0, $1) {

return $1 + ","

}) : num.toString().replace(/(\d)(?=(\d{3}))/g, function($0, $1) {

      return $1 + ","

    }))

}

console.log(ce(1353400.23))

思路:添加千位分隔符是从后到前,每3位添加逗号,所以这里输入数据转换成字符串后,利用slice方法的输入负数参数从后取的特点,从后取三位数字保存在数组中,并把取剩后的数据递归重复取值,直到数据不足3位,把剩下一起存入数组中