js数字格式化(加千分位逗号)

需求:当金额大于10000时,在作展示的时候,需要加千分位逗号,就是每隔1000要用逗号分隔;

方法一:使用toLocaleString()方法

此方法和toString()方法的区别看这里

1 <script  type= "text/javascript">  
2      var   num = "12356.546";
3      console.log(parseFloat(num).toLocaleString());  // 12,356
4  </script>  

方法二

第二个方法性能更高,速度相对第一种方法快了将近9倍

 1 <script>
 2         'use strict'
 3         let format = n => {
 4             let num = n.toString()
 5             let decimals = ''
 6                 // 判断是否有小数
 7             num.indexOf('.') > -1 ? decimals = num.split('.')[1] : decimals
 8             let len = num.length
 9             if (len <= 3) {
10                 return num
11             } else {
12                 let temp = ''
13                 let remainder = len % 3
14                 decimals ? temp = '.' + decimals : temp
15                 if (remainder > 0) { // 不是3的整数倍
16                     return num.slice(0, remainder) + ',' + num.slice(remainder, len).match(/\d{3}/g).join(',') + temp
17                 } else { // 是3的整数倍
18                     return num.slice(0, len).match(/\d{3}/g).join(',') + temp
19                 }
20             }
21         }
22         format(12323.33)  // '12,323.33'
23     </script>

 如果大家还有什么更高的解决方案,也可以在下面添加评论告诉我哦

转载于:https://www.cnblogs.com/hjvsdr/p/7808097.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值