返回顶部
首页 > 资讯 > 前端开发 > JavaScript >js千分位实现方法大汇总
  • 741
分享到

js千分位实现方法大汇总

2024-04-02 19:04:59 741人浏览 薄情痞子
摘要

目录千分位实现汇总1.最最便捷的实现方式:toLocaleString()2.正则匹配3.for循环4.slice+while循环5.reduce千分位分隔符方法一方法二千分位实现汇

千分位实现汇总

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"

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

千分位分隔符

方法一

没有小数位时

formatMoney(num) {  
  let reg=/\d{1,3}(?=(\d{3})+$)/g;   
  return (num + '').replace(reg, '$&,');  
}

方法二

有小数位时

formatThousand(money) {  
  let res = money.toString().replace(/\d+/, function(num){ // 先提取整数部分
    return num.replace(/(\d)(?=(\d{3})+$)/g, function($1){
      return $1+",";
    });
  })
  return res;
},

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。 

--结束END--

本文标题: js千分位实现方法大汇总

本文链接: https://lsjlt.com/news/145591.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • js千分位实现方法大汇总
    目录千分位实现汇总1.最最便捷的实现方式:toLocaleString()2.正则匹配3.for循环4.slice+while循环5.reduce千分位分隔符方法一方法二千分位实现汇...
    99+
    2024-04-02
  • js金额千分位的6种实现方法实例
    目录方法一 数组分割法方法二 字符截取法方法三 求模法方法四 正则表达式(先行断言)方法五 通过Intl.NumberFormat方法六 number.toLocaleString方...
    99+
    2024-04-02
  • JS数组Array常用方法汇总+实例
    一、JavaScript中创建数组的方式 (1)使用 Array 构造函数: var arr1 = new Array(); //创建一个空数组 var arr2 = ne...
    99+
    2024-04-02
  • SQLServer分页方法汇总
    根据SalesOrderID排序,取第16-18行这3条记录。 方法一:(最常用的分页代码, top / not in) SELECT TOP 3 [SalesOrder...
    99+
    2024-04-02
  • python实现汉诺塔方法汇总
    学习python遇到的第一个问题:汉诺塔问题的实现。首先是不知道什么是汉诺塔问题,然后是不知道怎么实现。于是百度了下,结果如下: 汉诺塔:汉诺塔(又称河内塔)问题是源于印度一个古老传说的益智玩具。大梵天创造...
    99+
    2022-06-04
    方法 汉诺 python
  • Android实现倒计时方法汇总
    Android开发中经常会有倒计时的功能,下面将总结出常见的集中实现方式。 1.直接使用Handler的消息机制来实现 xml布局中文件如下: <?xml v...
    99+
    2022-06-06
    倒计时 方法 方法汇总 Android
  • JS实现单例模式的6种方案汇总
    前言 今天在复习设计模式中的-创建型模式,发现JS实现单例模式的方案有很多种,稍加总结了一下,列出了如下的6种方式与大家分享 大体上将内容分为了ES5(Function)与ES6(C...
    99+
    2024-04-02
  • 两种方法实现mysql分组计数,范围汇总
    第一种:常规操作 SELECT SUM(ddd) AS count_days, CASE WHEN aa.days >= 1 AND aa.days < 3 THEN '1-3' ...
    99+
    2022-05-29
    MySQL 分组计数 MySQL 范围汇总
  • web开发中常用的js方法汇总
    这篇文章主要讲解了“web开发中常用的js方法汇总”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“web开发中常用的js方法汇总”吧!1.网页图片集左右滑动查...
    99+
    2024-04-02
  • JS新手入门数组处理的实用方法汇总
    join()方法:将数组中所有元素通过指定分隔符连接成一个字符串 举例: myArr.join('-') // 用'-'符号拼接 concat()方法:将两个数组或...
    99+
    2024-04-02
  • 大数据中分页汇总的配置方法是什么
    这期内容当中小编将会给大家带来有关大数据中分页汇总的配置方法是什么,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。嗨 ~everybody,还在为每页数据的计数求和发愁吗?还在为自己写长串代码加班到深夜而焦...
    99+
    2023-06-04
  • python+opencv图像分割实现分割不规则ROI区域方法汇总
    在图像分割领域,一个重要任务便是分割出感兴趣(ROI)区域。如果是简易的矩形ROI区域其实是非常容易分割的,opencv的官方python教程里也有教到最简易的矩形ROI分割(剪裁)...
    99+
    2024-04-02
  • Python中执行调用JS的多种方法汇总
    1. 写在前面   做爬虫的人大家都知道,现在国内Web或App普遍防护都做的很好,且越有价值的网站这方面越强 再小再弱的网站现在或多或少都要整点反爬 JS在反爬中应用非常广泛,现在做爬虫工程师基本...
    99+
    2023-08-31
    python javascript
  • js数组去重常见的方法汇总(7种)
    目录1、借助ES6提供的Set结构 new Set() 简单好用 强烈推荐2、利用 filter() 去重3、利用for 循环 搭配 indexOf 去重4、将数组的每一个元素依次与...
    99+
    2024-04-02
  • python保存两位小数的多种方法汇总
    目录一、保留两位小数 且 做四舍五入处理1、使用字符串格式化2、使用python内置的round() 函数3、使用python内置的decimal模块二、保留两位小数 且 不做四舍五...
    99+
    2024-04-02
  • vue全局实现数字千位分隔符格式
    本文实例为大家分享了vue全局实现数字千位分隔符格式的具体代码,供大家参考,具体内容如下 这个是啥意思呢 ? 就是我们在页面上需要渲染数据的时候,比如 88888,我们需要按照千分位...
    99+
    2024-04-02
  • Vue实现动态样式的多种方法汇总
    目录1. 三元运算符判断2. 动态设置class 3. 方法判断 4. 数组绑定5. computed结合es6对象的计算属性名方法1. 三元运算符判断 <text :st...
    99+
    2024-04-02
  • Android实现计时与倒计时的方法汇总
    方法一Timer与TimerTask(Java实现)public class timerTask extends Activity{ private int recLen = 11; private TextView txtView; ...
    99+
    2023-05-31
    android 计时 倒计时
  • Python文件相关操作和方法汇总大全
    目录os.path文件文件读写文件删除文件复制移动目录创建目录删除目录复制目录枚举目录遍历(游走)目录文件名模式匹配fnmatchglob临时文件与目录前言:  Pytho...
    99+
    2024-04-02
  • php怎么实现number格式化后取消千分位
    在PHP中,可以利用“str_replace()”函数实现number格式化后取消千分位,该函数用于替换字符串中的一些字符,只需利用该函数替换掉number中的千分位符号即可,语法为“str_replace(",",&q...
    99+
    2022-06-24
    php
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作