千分位分割方法js
有很多方法,简单快速才是最好的
1.
let num = 1234567890; num.toLocaleString(); //"1,234,567,890"
2.
// 正则匹配方法一 let num = 1234567890; let reg = /\d{1,3}(?=(\d{3})+$)/g; String(num).replace(reg, '$&,'); //"1,234,567,890" // 正则匹配方法二 let num = 1234567890; let reg = /\B(?=(\d{3})+$)/g; String(num).replace(reg, ','); //"1,234,567,890" 说明:如果想知道具体怎样的分组方式,可在 [https://regexper.com/](https://regexper.com/) 上测试 1. ?= 表示正向引用 2. $& 表示与正则表达式相匹配的内容,可查看replace() 3. \B 非单词边界
3.其他,除非用来面试,否则不建议在项目中写这么多代码去实现
// reduce function format(num) { var str = num+''; return str.split("").reverse().reduce((prev, next, index) => { return ((index % 3) ? next : (next + ',')) + prev; }) } let num = 1234567890; format(num); //"1,234,567,890" // for循环方法一 function format(num){ num = String(num);//数字转字符串 let str = '';//字符串累加 for (let 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(""); //字符串=>数组=>反转=>字符串 } let num = 1234567890; format(num); //"1,234,567,890" // for循环方法二 function format(num){ num = String(num);//数字转字符串 let str = '';//字符串累加 for (let i = num.length- 1, j = 1; i >= 0; i--, j++){ if (j%3 == 0 && i != 0){ //每隔三位加逗号,过滤正好在第一个数字的情况 str = ',' + num[i] + str; //加千分位逗号 continue; } str = num[i] + str; //累加数字 } return str; } let num = 1234567890; format(num); //"1,234,567,890" function format(num) { let arr = [], str = String(num), count = str.length; while (count >= 3) { arr.unshift(str.slice(count - 3, count)); count -= 3; } // 如果是不是3的倍数就另外追加到上去 if(str.length % 3) arr.unshift(str.slice(0, str.length % 3)); return arr.toString(); } let num = 1234567890; format(num); //"1,234,567,890"
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异