JS:给数字添加千分位符(每3位数用逗号隔开)

背景

  • 如果一串数字的长度太长,就不方便阅读,因此可以采用分隔符对数字进行分割
  • 本文的分割规则是:
    如果数字的长度大于等于5则进行分割,每3位数用逗号分割开

解决

  • 数字可以分为:number类型的数字和字符串类型的数字,这2者的处理略有不同
  • 其次,判断数字的长度是否大于等于5,若大于等于5,则用分隔符对数字进行分割
1、字符串类型的数字
// 字符串类型的数字
// 测试1:
var str = "12345678"
if (str.length >= 5) {console.log(str.replace(/(\d)(?=(?:\d{3})+$)/g, '$1,'))
} else {console.log(str)
}
// 测试2
var str1 = "1234"
if (str1.length >= 5) {console.log(str1.replace(/(\d)(?=(?:\d{3})+$)/g, '$1,'))
} else {console.log(str1)
}
// 测试3:
var str2 = "12345"
if (str2.length >= 5) {console.log(str2.replace(/(\d)(?=(?:\d{3})+$)/g, '$1,'))
} else {console.log(str2)
}
  • 结果如下:
    在这里插入图片描述
2、number类型的数字
// number类型的数字
// 测试1:
var num = 1234567
// 先把数字类型转换成字符串才能获取数字的长度
if ((num + "").length >= 5) {console.log(num.toLocaleString("en-US"))
}
else {console.log(num)
}
// 测试2:
var num1 = 1234
// 先把数字类型转换成字符串才能获取数字的长度
if ((num1 + "").length >= 5) {console.log(num1.toLocaleString("en-US"))
}
else {console.log(num1)
}
// 测试3:
var num2 = 12345
// 先把数字类型转换成字符串才能获取数字的长度
if ((num2 + "").length >= 5) {console.log(num2.toLocaleString("en-US"))
}
else {console.log(num2)
}
  • 结果如下:
    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/150565.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

前端反卷计划-组件库-03-组件样式

Hi, 大家好!我是程序员库里。 今天开始分享如何从0搭建UI组件库。这也是前端反卷计划中的一项。 在接下来的日子,我会持续分享前端反卷计划中的每个知识点。 以下是前端反卷计划的内容: 目前这些内容持续更新到了我的 学习文档 中。感兴趣…

基于yolov5模型的200种鸟类检测识别分析系统

该专栏仅支持购买本专栏的同学学习使用,不支持以超级会员、VIP等形式使用,请谅解!【购买专栏后可选择其中一个完整源码项目】 本文是我新开设的专栏《完整源码项目实战》 的第十三篇全源码文章,包含数据集在内的所有资源,可以实现零基础上手入门学习。前面系列文章链接如下…

uniapp 防抖节流封装和使用

防抖(debounce):定义一个时间,延迟n秒执行,n秒内再次调用,会重新计时,计时结束后才会再次执行 主要运用场景: 输入框实时搜索:在用户输入内容的过程中,使用防抖可以减少频繁的查询…

【ARM Trace32(劳特巴赫) 使用介绍 5 -- Trace32 ELF 文件加载介绍】

请阅读【ARM Coresight SoC-400/SoC-600 专栏导读】 文章目录 1.1 Trace32 加载符号表1.1.1 ELF 文件加载1.1.2 其它格式文件加载1.1.3 多个 ELF 的加载1.2 Trace32 UEFI 配置1.2.1 x86 32-BIT1.2.2 x86 64-BIT1.2.3 ARM1.1 Trace32 加载符号表 劳特巴赫 TRACE32 可以显示目标…

【每周一测】Java阶段三第三周学习

目录 1、事务四个隔离级别中,哪一个不能防止脏读 2、关于sleep()和wait(),以下描述错误的一项是() 3、以下关于Servlet生命周期说法错误的是( ) 4、下列概念解释说明错误的是 5、在 JWT 中&#xff0c…

数据结构与算法【二叉搜索树】Java实现

介绍 二叉搜索树(也称二叉排序树)是符合下面特征的二叉树: 树节点增加 key 属性,用来比较谁大谁小,key 不可以重复对于任意一个树节点,它的 key 比左子树的 key 都大,同时也比右子树的 key 都…

SQL-对比两表中数据

需求:表1中有多行id相同 select a.item_code, totalAmount , b.online_qty from (select item_code, sum(a.online_qty) as TotalAmountfrom serial_bal awhere a.wh_code SJ38group by item_code) a left join(select item_code,online_qtyfrom wh_bal bwhere b.…

ESP32 MicroPython 图像采集及拍照功能的使用⑧

ESP32 MicroPython 图像采集及拍照功能的使用⑧ 1、摄像头应用2、图像采集5、实验结果6、按键拍照7、实验内容8、参考代码9、实验结果 1、摄像头应用 小车配有摄像头,可以使用摄像头实现拍照、图像显示、图像识别等功能。小车已经内置有我们专门移植的摄像头驱动库…

[Docker]六.Docker自动部署nodejs以及golang项目

一.自动部署nodejs 1.创建node项目相关文件 app.js代码如下: var express require(express);var appexpress();app.get(/,function(req,res){res.send(首页update); }) app.get(/news,function(req,res){res.send(首页); })//docker做端口映射的时候不要指定ip app.listen(30…

大模型重塑软件设计,南京真我加入飞桨技术伙伴,大模型生态圈成员又添一员!

为帮助伙伴更快、更好的应用大模型技术,飞桨技术伙伴体系及权益基于星河共创计划全面升级,通过丰富的场景、技术、算力、品牌等资源,为伙伴企业提供一站式的大模型资源对接,全面降低创建AI原生应用的门槛。 近日,南京…

二十三种设计模式全面解析-解密职责链模式:请求处理的设计艺术

当我们构建软件系统时,经常会遇到需要处理各种不同类型请求的情况。有时,请求的处理逻辑可能相当复杂,需要按照一定的规则和条件进行处理。在本文中,我们将深入探讨职责链模式在请求处理中的应用。职责链模式通过将请求发送者和接…

win10家庭版系统远通过一根网线程连接另一台机器

用网线连接两个机器 打开cmd命令行 输入ipconfig,查看 复制 IPv4地址 打开 远程桌面 程序 点击连接 输入在另外一机器设置好的用户名和密码即可

docker打包chatpdf(自写)

docker打包上传 docker build -t kitelff/chatpdf:v0.1 .##修改镜像名字 docker tag c2c1a0eb4e08 kitelff/chatpdf:v0.1## push docker push kitelff/chatpdf:v0.1上传文件,测试效果

【brpc学习实战二】brpc client构建基本流程

client基本概念及学习指南 https://github.com/luozesong/brpc/blob/master/docs/cn/client.md 一、编写proto 这里与服务一致,实际开发中需要双端共同确定proto内容; 二、初始化channel rpc channel可以视为socket编程中的client对象 定义一个chan…

字符串统计

题目部分 题目字符串统计难度易题目说明给定两个字符集合,一个是全量字符集,一个是已占用字符集,已占用字符集中的字符不能再使用,要求输出剩余可用字符集。输入描述1. 输入一个字符串 一定包含,前为全量字符集 后的为…

BananaPi BPI-M6(Raspberry Pi 5) Android 平板电脑镜像测试温度

我已经在本文中介绍了 全新的Banana Pi BPI-M6,并讨论了其与Raspberry Pi 5的硬件特性比较。 然后我将 Android 平板电脑固件上传到 eMMC,从而使 Banana Pi 实际可用。一开始有点坎坷,但文章中有更多内容。 在另一台电脑上,一切都…

Arcgis小技巧【16】:ArcMap的那些功能在ArcGIS Pro里都去哪儿了?

有部分小伙伴现在已经用上了ArcGIS Pro,但可能还会有些不习惯。 一个很重要的原因,原来在ArcMap中的一些功能,好像在Pro里消失了。 不排除一些功能确实被移除了,但大部分其实是因为UI的变化,给放在了别的地方。 这里…

Linux CentOS7配置网络参数

CentOS6及以前版本中主要使用ifconfig工具,查看、配置网络参数。后来对推荐使用ip命令查看配置网络参数。而centos7中,不再赞成使用ifconfig工具,取而代之的是nmcli工具,服务管理也是以systemctl工具取代了service,这些之前版本的…

音视频项目—基于FFmpeg和SDL的音视频播放器解析(十二)

介绍 在本系列,我打算花大篇幅讲解我的 gitee 项目音视频播放器,在这个项目,您可以学到音视频解封装,解码,SDL渲染相关的知识。您对源代码感兴趣的话,请查看基于FFmpeg和SDL的音视频播放器 如果您不理解本…

学霸教你自学人工智能

在这个信息爆炸的时代,人工智能已经渗透到我们生活的方方面面。无论是语音助手、自动驾驶汽车,还是医疗诊断,人工智能都在发挥着越来越重要的作用。如果你对人工智能充满热情,希望在这个领域有所建树,那么,…