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组件库。这也是前端反卷计划中的一项。 在接下来的日子,我会持续分享前端反卷计划中的每个知识点。 以下是前端反卷计划的内容: 目前这些内容持续更新到了我的 学习文档 中。感兴趣…

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

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

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上传文件,测试效果

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,这些之前版本的…

学霸教你自学人工智能

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

微信私域运营工具CRM

为什么要做微信私域? 客户在哪里?微信!在中国,不论男女老少,90%的人每天使用微信至少5次,每次使用时间超过90分钟,已经成为像吃饭穿衣一样的生活必需品。因此,我们的目标客户就在微…

【github】初学者使用指南

作者:20岁爱吃必胜客(坤制作人),近十年开发经验, 跨域学习者,目前于新西兰奥克兰大学攻读IT硕士学位。荣誉:阿里云博客专家认证、腾讯开发者社区优质创作者,在CTF省赛校赛多次取得好成绩。跨领域…

VMware——WindowServer2012R2环境mysql5.7.14解压版安装主从复制(图解版)

目录 一、服务器信息二、192.168.132.33主服务器上安装mysql(主)2.1、环境变量配置2.2、安装2.2.1、修改配置文件内容2.2.2、初始化mysql并指定超级用户密码2.2.3、安装mysql服务2.2.4、启动mysql服务2.2.5、登录用户管理及密码修改2.2.6、开启远程访问 …

ESP32C3小飞控调试

ESP32C3小飞控调试 - 1 ESP32C3小飞控板赶在国庆节前发出打样,假期后上班就收到了样板,但是迟迟没有动手调试,这两天终于抽出时间调试了,调试过程还算顺利,基本没有遇到什么大问题,下面记录一下调试过程。…

微信可以注册小号啦,看看怎么操作

微信支持同一手机号绑定两个账号啦! 生活号和工作号可以分开啦~实用又简单! 详细步骤如下: ①点击微信-我的-设置 ②点击“切换账号” ③点击“添加账号” ④点击“注册新账号” ⑤点击“通过当前微信的手机号辅助注册” ⑥安…

建议收藏《Verilog代码规范笔记_华为》

华为verilog编程规范是坊间流传出来华为内部的资料,其贴合实际工作需要,是非常宝贵的资料,希望大家善存。至于其介绍,在此不再赘述,大家可看下图详细了解,感兴趣的可私信移知教育老师领取《Verilog代码规范…

超长圆钢在线直线度检测 告别手工测量时代

圆钢的直线度指的是它的表面形状是否呈现出直线。直线度是圆钢的重要品质要求之一,与其物理性能密切相关。在工业制造中,如果圆钢的直线度不达标,就会影响其后续的加工和使用效果,严重时甚至会造成损失。 超长圆钢的检测&#xff…

4-4有人写了一个函数

#include<stdio.h> int main(){int x,y;for(int i0;i<3;i){printf("输入x:");scanf("%d",&x);if(x<0){y(-1);printf("x%d的结果是y%d\n",x,y);}else if(x>0){y1;printf("x%d的结果是y%d\n",x,y);}else{y0;printf(&…

多表查询内连接、外连接、子查询、笛卡尔积

1.1 多表查询&#xff1a;从多张表中进行查询 仅仅使用select * from tb_emp,tb_dept查询语句会显示如下结果&#xff08;笛卡尔积&#xff1a;两个表的所有的组合情况&#xff09;其中很大部分数据是冗余的。 1.2内连接&#xff1a;相当于查询A,B表交集部分的数据&#xff08…