JS 数字的千位分隔法

本文介绍了JavaScript中实现数字千位分隔的多种方法,包括使用正则表达式、遍历分隔以及reduce函数分隔。对于整数,通过正则匹配或数组操作可以实现;对于有小数的数字,可以先分离整数和小数部分,再进行分隔,或者直接使用toLocalString()函数。
摘要由CSDN通过智能技术生成

1 整数的千位分隔法

1.1 正则分隔

相关知识:

  1. (?=p),其中p是一个子模式,即p前面的位置。(hello (?=e) 指e前面的位置 “h#ello”)
  2. (?!p)就是(?=p)的反面意思(hello (?!e) 指除e前面的位置 “#he#l#l#o#”)
  3. 写个正则不匹配任何东西: /.^/

数字的千分位就是把"12345678",变成"12,345,678"

从后向前3位添加一个逗号

// 仅在最后加入一个逗号
var str = "12345678";
var reg = /(?=\d{3}$)/g
var res = str.replace(reg,',')
console.log(res)  // 12345,678
// 若想加多个逗号 需要添加一个 +

var str = "12345678";
var reg = /(?=(\d{3})+$)/g
var res = str.replace(reg,',')
console.log(res)  // 12,345,678
console.log("123456789".replace(reg,',')) // ,123,456,789
// 在最前面多添加一个逗号
// 需要把最前面的逗号去掉  (?!^)

// 最终版本
var str = "123456789";
var reg = /(?!^)(?=(\d{3})+$)/g
var res = str.replace(reg,',')
console.log(res)  // 123,456,789

1.2 遍历分隔

转换为数组,反转数组,三位添加一个逗号,反转数组,转换为字符串输出。

function solve(arr) {
   
    
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值