简单方法实现千分符

什么是千分符

通常在数字每隔三位,加一个“,”,即千位分隔符,便于读数。

在购物时候,查看余额的时候都会用到千分符,实现千分符有很多方法,下面来说一种比较简单的做法。

利用零宽断言实现千分符

<script>
      //比如说一件商品单价为¥4051.25,小明买了4件
      var price = "4051.25";
      var count = 4;
      //小明需要支付¥4051.25*4
      var zprice = (price * count).toFixed(2);
      console.log(`小明买了${count}件单价为${price}的包包,需要支付${zprice}`);
</script>

输出结果
在这里插入图片描述
我们希望显示价格是以千分符的方式,那我们只需要做一个正则表达式就可以实现千分符了。这个正则怎么写呢?这里我用到的是零宽断言(不知道零宽断言的看我的博客有介绍)。

正则表达式之零宽断言:https://blog.csdn.net/weixin_43348064/article/details/105804348

<script>
      //比如说一件商品单价为¥4051.25,小明买了4件
      var price = "4051.25";
      var count = 4;
      //小明需要支付¥4051.25*4
      var zprice = (price * count).toFixed(2);
      price = price.replace(/(\d)(?=(\d{3})+(\.|$))/g, "$1,");
      zprice = zprice.replace(/(\d)(?=(\d{3})+(\.|$))/g, "$1,");
      console.log(
        `小明买了${count}件单价为¥${price}的包包,需要支付¥${zprice}`
      );
</script>

输出结果
在这里插入图片描述

这样子就实现了千分符了,来看一下上面正则表达式/(\d)(?=(\d{3}+(\.|$)))/是什么意思, 这里的((?=(\d{3})+(\.|$))是零宽断言,捕获离结尾或.三位数的倍数之前的数字,然后将捕获到的数字进行替换,$1是获取正则表达式的第一个()里面的内容。

这样就解决千分符的问题啦。

东哥笔记

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值