js输出数字用千分号分隔的三种方法
第一种方法:将数字转换成字符串进行处理。
function formatNumber(num) {var decimalPart = '';num = num.toString();if (num.indexOf('.') != -1) {decimalPart = '.' + num.split('.')[1];num = parseInt(num.split('.')[0]);}var array = num.toString().split('');var index = -3;while (array.length + index > 0) {array.splice(index, 0, ',');index -= 4;}return array.join('') + decimalPart;
};
第二种方法:用正则表达式进行匹配。
function formatNumberRgx(num) {var parts = num.toString().split(".");parts[0] = parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, ",");return parts.join(".");
};
正则表达式解析:
/\B(?=(\d{3})+(?!\d))/g
先把上面这个表达式的结构解析为如下形式:/x(?=y)/g 。其中 g 代表全局匹配,x(?=y) 匹配x当且仅当x 后面是 y ,x 代表 \B ,y 代表 (\d{3})+(?!\d)。
\B 匹配非单词边界,两边都是单词字符或者两边都是非单词字符,形如:\w\B\w 或者 \W\B\W 。
(\d{3})+(?!\d) 又可以解析为: x(?!y),匹配x 当且仅当 x 后面不是 y 。其中 x 代表 (\d{3})+,y代表 \d。
(\d{3})+ 匹配三个数字,出现次数>=1。
第三种方法:使用原生函数。
number.toLocaleString();
注意:
第三种方法并不支持所有浏览器,在FireFox和Safari中无效。详见 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toLocaleString 。
以上参考:
http://stackoverflow.com/questions/2901102/how-to-print-a-number-with-commas-as-thousands-separators-in-javascript
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp
js输出数字用千分号分隔的三种方法相关推荐
- 前端js调用后端API获取数据的三种方法(2022.7.25)
前端js调用后台API获取数据的三种方法(2022.7.25) 前言 需求分析 一个Get实例 浏览器请求 SoapUI软件请求 一个Post实例 浏览器请求 SoapUI软件请求 1.Http简介( ...
- node.js中mysql批量插入更新的三种方法
[背景]在项目中遇到一个批量插入数据的需求,由于之前写过的sql语句都是插入一个对象一条数据,于是去网上搜关键词 "sql批量插入"."mysql批量插入"等, ...
- js删除字符串的最后一个字符三种方法
字符串 [javascript] view plaincopy var basic = "abc,def,ghi,"; 第一种 [javascript] view plaincop ...
- php将字符串转换为json格式,js中将字符串转换为json格式的三种方法
json在js的开发过程中经常会用到,像在使用ajax开发的项目过程中,经常需要将json格式的字符串返回到前端,前端解析成json对象. 下面为大家介绍下将字符串转换为json对象的三种常用的方法: ...
- Excel常用技巧—数字和文本转换,三种方法任你选!!
Excel图表系列: Excel数据分析常用函数①--查询函数 Excel数据分析常用函数②--统计函数 Excel数据分析常用函数③--字符串函数 Excel数据分析常用函数④--日期函数 Exce ...
- 前端js去重的常用的简单的三种方法
<script>//1 使用for双循环,首先循环原数组,然后循环新定义数组,它里面默认是原数组第一个元素,比较两个是否相等,function remove(arr) {let arr1 ...
- Java声明数组的三种方法
目录 前言 内容 后记 前言: 这篇主要讲java的三种数组声明方式,这里采用String类型作为典型 内容: package com.izaijia; //数组的三种声明形式 public clas ...
- C语言实现strlen的三种方法
目录 1.strlen介绍 strlen --- 求字符串长度 2.如何使用strlen库函数 3.三种方法实现strlen 计数器法: 递归法: 指针-指针法: 4.关于strlen返回值 1.st ...
- js 把字符串转成json对象的三种方法
js 把字符串转成json对象的三种方法 不管字符串是否含有转义字符,都能转换成 Json 对象 1, js自带的eval函数,其中需要添加小括号eval('('+str+')'); function ...
最新文章
- 数据类型 类型检测
- hashmap转红黑树的阈值为8_面试必问的HashMap,一次彻底帮你搞定HashMap源码
- ROS学习(十三):time 和 Timer
- 系统运维篇之HP-DL580-Linux配置Bonding网卡组实例
- Vrep中支持的运动规划算法
- python中random库中shuffle_[宜配屋]听图阁 - 详解Python中打乱列表顺序random.shuffle()的使用方法...
- python 文字处理系统_详解Python中的文本处理
- 静态对象和非静态对象的区别
- SQL中的内连接查询和外连接查询
- Pandas:分组级的运算和转换--transform和apply
- 信息熵与两种编码基础
- maven的pom文件引入依赖报错:提示无法处理 Cannot resolve...
- HTML+CSS综合实训(二) 仿制视频网
- POSTGRESQL 用户怎么乱糟糟,出自其他DB的评论, 与SCHEMA 移魂大法
- JSD-2204-创建csmall项目-Day02
- Java实现Word转PDF方案选择
- [生存志] 第5节 第一篇 以史为鉴 罗振宇的思维逻辑
- window10 更新提示 0x80073712错误
- QML 之 real 数据保留小数点后两位
- mysql根据身份证查询年龄,地址,性别