js正则表达式将一个字符串拆分成3个一组,每组添加,

javascript 复制代码
let a='123456789.9876543210'

a.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",")//输出结果:'123,456,789.9,876,543,210'
  1. num.toString(): 将数字 num 转换为字符串。

  2. .replace(/\B(?=(\d{3})+(?!\d))/g, ','):

    • .replace() 是字符串对象的方法,用于替换匹配的字符串。
    • / \B(?=(\d{3})+(?!\d))/g 是一个新的正则表达式。
      • \B: 匹配一个非单词边界,确保我们不在数字的开头插入逗号。
      • (?=(\d{3})+(?!\d)): 正向预查,匹配之后跟着一组三个数字(这个组可以重复多次),但是不能再有数字。
      • /g: 全局匹配,替换所有匹配而不仅仅是第一个。
    • ',': 替换为逗号。

假设 num 的值为 1234567.89

  • num.toString() 将其转换为字符串 "1234567.89"
  • .replace(/\B(?=(\d{3})+(?!\d))/g, ',')
    • 正则表达式在字符串中查找每个非单词边界的位置。
    • 当它找到一个位置,该位置后面跟着一组三个数字(或者是字符串的结尾),就在这个位置插入一个逗号。
    • 所以,1234567.89 被替换为 1,234,567.89

这样修改后的代码能够正确处理包含小数位的数字,并在适当的位置插入千位分隔符。

相关推荐
cc.ChenLy36 分钟前
【CSS进阶】毛玻璃效果与代码解析
前端·javascript·css
何中应37 分钟前
使用Jenkins部署前端项目(Vue)
前端·vue.js·jenkins
西门吹-禅37 分钟前
node js 性能处理
开发语言·javascript·ecmascript
3秒一个大44 分钟前
JWT 登录:原理剖析与实战应用
前端·http·代码规范
q***76561 小时前
MySQL 中如何进行 SQL 调优
android·sql·mysql
一只大侠的侠1 小时前
React Native for OpenHarmony:日期范围选择器实现
javascript·react native·react.js
NEXT061 小时前
2026 技术风向:为什么在 AI 时代,PostgreSQL 彻底成为了全栈工程师的首选数据库
前端·数据库·ai编程
hzc09876543211 小时前
MySQL大小写敏感、MySQL设置字段大小写敏感
数据库·mysql
w***29851 小时前
MySql中的事务、MySql事务详解、MySql隔离级别
数据库·mysql·adb
NEXT061 小时前
拒绝“盲盒式”编程:规范驱动开发(SDD)如何重塑 AI 交付
前端·人工智能·markdown