在做大数据可视化需求时,经常遇到比较大、比较长的数据,产品就要求对展示的数字进行 千分位 处理。
注意: toLocaleString 只能针对 Number 类型的数据进行千分位处理
说明: 如果想知道具体怎样的分组方式,可在 https://regexper.com/ 上测试
欢迎访问: 个人博客地址
例如:请将10000000.01转成10,000,000.01
只能用于正整数,不能有小数位
输入为: let str = "1000000" [输入为string]
输出结果为: "1,000,000"
解析:
只能用于数字
输入为: 1000000.01 [输入为num]
输出结果为: 1,000,000.01
适配了小数点
输入为: 1000000.0001
输出结果为: 1,000,000.0001
数字转换为带千位分隔符格式的数字字符串,类似这样的需求,前后端都可以处理。在前端,一般么,都是把数字字符串转换成数组,每个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,也是别人转发的,不知道是不是真的,就当看看吧