js 将数字用千分位表示

这篇博客介绍了三种在JavaScript中将数字转换为带有千分位分隔的字符串的方法:1) 使用toLocaleString(),2) 通过正则表达式替换,3) 利用toFixed()方法。详细讲解了每种方法的用法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


在涉及到金额的情况下,一般来说,都需要用千分位的方式进行展示。更利于用户阅读。
接下来介绍两种常用的方案。

第一种:toLocaleString()

toLocaleString() 方法返回这个数字在特定语言环境下的表示字符串。具体用法可查看MDN介绍
在这里插入图片描述

第二种:使用正则表达式替换

function format(number) {
  const num = String(number)
  const reg = /\d{1,3}(?=(\d{3})+$)/g
  const res = num.replace(/^(-?)(\d+)((\.\d+)?)$/, function(match, s1, s2, s3){
    return s1 + s2.replace(reg, '$&,') + s3
  })
  return res
}
console.log(format(-123568.4758))
// 结果
-123,568.4758

补充一个toFixed的方法

function myToFixed(data, n) {
  var result = parseFloat(data);

  result = Math.round(data * Math.pow(10, n)) / Math.pow(10, n);
  var s_x = result.toString();
  var pos_decimal = s_x.indexOf('.');
  if (pos_decimal < 0) {
    pos_decimal = s_x.length;
    s_x += '.';
  }
  while (s_x.length <= pos_decimal + n) {
    s_x += '0';
  }

  return s_x;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值