1. 最最便捷的实现方式:toLocaleString()

注:只针对数字格式有效!

let num = 1234567890;
num.toLocaleString(); //"1,234,567,890"

2. 正则匹配

// 正则匹配方法一
let num = 1234567890;
let reg = /\d{1,3}(?=(\d{3})+$)/g;
String(num).replace(reg, '$&,'); //"1,234,567,890"// 正则匹配方法二
let num = 1234567890;
let reg = /\B(?=(\d{3})+$)/g;
String(num).replace(reg, ','); //"1,234,567,890"说明:如果想知道具体怎样的分组方式,可在 [https://regexper.com/](https://regexper.com/) 上测试
1. ?= 表示正向引用
2. $& 表示与正则表达式相匹配的内容,可查看replace()
3. \B 非单词边界

3. for循环

// for循环方法一
function format(num){  num = String(num);//数字转字符串  let str = '';//字符串累加  for (let i = num.length- 1, j = 1; i >= 0; i--, j++){  if (j%3 == 0 && i != 0){ //每隔三位加逗号,过滤正好在第一个数字的情况  str += num[i] + ','; //加千分位逗号  continue;  }  str += num[i]; //倒着累加数字}  return str.split('').reverse().join(""); //字符串=>数组=>反转=>字符串
}
let num = 1234567890;
format(num); //"1,234,567,890"// for循环方法二
function format(num){  num = String(num);//数字转字符串let str = '';//字符串累加for (let i = num.length- 1, j = 1; i >= 0; i--, j++){  if (j%3 == 0 && i != 0){ //每隔三位加逗号,过滤正好在第一个数字的情况str = ',' + num[i] + str; //加千分位逗号continue; }  str = num[i] + str; //累加数字}  return str;
}
let num = 1234567890;
format(num); //"1,234,567,890"

4. slice+while循环

function format(num) {let arr = [],str = String(num),count = str.length;while (count >= 3) {arr.unshift(str.slice(count - 3, count));count -= 3;}// 如果是不是3的倍数就另外追加到上去if(str.length % 3) arr.unshift(str.slice(0, str.length % 3));return arr.toString();
}
let num = 1234567890;
format(num); //"1,234,567,890"

5. reduce

function format(num) {var str = num+'';return str.split("").reverse().reduce((prev, next, index) => {return ((index % 3) ? next : (next + ',')) + prev;})
}
let num = 1234567890;
format(num); //"1,234,567,890"

当然也存在很多类似的写法,不一一列举了~

js千分位实现方法汇总相关推荐

  1. 封装js千分位加逗号和删除逗号

    //封装js千分位加逗号和删除逗号alert( format(2545678754.020001) ) //2,545,678,754.03alert( format(-2545678754.0200 ...

  2. 千分位显示方法(每三位数字之间加一个逗号显示)

    千分位显示方法一: export function numberToCurrencyNo(value) {if (!value) return 0// 获取整数部分const intPart = Ma ...

  3. js 千分位格式化 (4种方式实现)

    千分位格式化 ---> 金额格式化 // 1000 ---> 1,000 // 10000 ---> 10,000 // 100000 ---> 100,000 // 1000 ...

  4. 5种处理js跨域问题方法汇总(转载)

    1.JSONP跨域GET请求 ajax请求,dataType为jsonp.这种形式需要请求在服务端调整为返回callback([json-object])的形式.如果服务端返回的是普通json对象.那 ...

  5. JS——判断变量类型方法汇总

    判断变量类型 一.使用typeof判断变量类型 二.使用instanceof判断变量的类型 三.使用constructor判断变量的类型 四.使用Object.prototype.toString.c ...

  6. JS中Object的方法汇总,包括assign、create、prototype等等

    JavaScript Object JS的Object到底是啥东西呢?它有啥东西呢? 我们简单知道的,就是new一个Object实例对象,那这个实例对象又何Object又有什么关系呢? 先打印一下看看 ...

  7. java中刷新js函数,js常用刷新页面方法汇总

    如何实现刷新当前页面呢?借助js你将无所不能. 1,reload 方法,该方法强迫浏览器刷新当前页面.语法:location.reload([bForceGet]) 参数: bForceGet, 可选 ...

  8. JS对象 - Array属性方法汇总

    属性名 描述 prototype 为对象添加属性.方法 constructor 返回数组对象引用 length 返回数组元素数目 方法名 描述 返回 更改原数组 concat() 连接多个数组 连接后 ...

  9. JS - 生成随机数的方法汇总(不同范围、类型的随机数)

    1,生成 [ 0, 1 ) 范围内的随机数(大于等于0,小于1) (1)使用 random() 方法可以返回一个介于 0 ~ 1 之间的伪随机数(包括 0,不包括 1). Math.random() ...

最新文章

  1. 微信小游戏开发教程-2D游戏原理讲解
  2. k8s滚动升级_k8s deployment 滚动更新
  3. 【机器视觉学习笔记】最近邻插值实现图片任意角度旋转(C++)
  4. 和在线视频会议服务器,什么是视频会议服务器端和客户端?
  5. 实战:采⽤Sharding-JDBC实现订单表的(两主四从) 分库分表 和 读写分离
  6. 9-3 数据分布概论
  7. android绘图软件推荐,动漫绘画辅助软件有哪些-7款绘画软件推荐
  8. 宏睿达智慧酒店云桌面系统远程控制台V4.1.4及前端桌面app V2.0.3支持直播的组播和单播格式、私密投屏、点播、周边、wifi管理、广告推送、多级管理、多主题管理
  9. ztek usb转串口 linux,Z-Tek USB转串口驱动
  10. 如果编程语言是一门武功绝学
  11. ORACLE账户提示EXPIRED(GRACE)问题解决
  12. 数据分析工具与参照【持续更新中......】
  13. vue知识点1-父子组件传值 插槽  wath  vuex
  14. 3D简单壳体CAD绘制
  15. Snipaste等截图px与浏览器内容px不一样
  16. 5-(4-甲酰基苯基)-10,15,20-苯基卟啉(FPTPP)/Β-硝基四苯基卟啉[H2TP(NO2)]及其锌配合物[ZnTPP(NO2)]的合成方法/结构式
  17. edge 禁止网页自动刷新_如何在Microsoft Edge中自动翻译网页
  18. 泛微实物档案数字化管理方案,全面优化组织档案管理
  19. 解决ACER4750G安装WIN764位的报错。
  20. 使用createPatch生成OpenFOAM可用的cyclic边界

热门文章

  1. 浅显易懂的浅拷贝深拷贝来了
  2. Bug深入分析的正确打开方式
  3. python:获取摄像头照片
  4. java objectpool_java objectpool 对象池
  5. ora-01653无法通过1024在表空间(BGXT)中扩展
  6. 总结OnOK、OnCancel、OnDestroy函数之间的区别
  7. 毕设整理-基于WebGIS的噪声监测系统
  8. 根据关键字爬取搜狗图库图片
  9. 走进北大青鸟,我所想、所感
  10. storm 入门教程——storm基础知识(W3Cschool)