博客
关于我
javascript千位分隔
阅读量:389 次
发布时间:2019-03-05

本文共 987 字,大约阅读时间需要 3 分钟。

用逗号分隔大数字,每三位数用逗号分隔。

最简单的方法

使用浏览器原生方法:

let num = 123456num.toLocaleString() // '123,456'

在nodejs环境中,不能直接使用toLocaleString方法,需要引入intl模块。

require('intl').NumberFormat().format(123456) // '123,456'

使用正则表达式替换

正则表达式是一门玄学…

function numberWithCommas(x) {       var parts = x.toString().split(".");    parts[0] = parts[0].replace(/\B(?=(?:\d{3})+(?!\d))/g, ",");    return parts.join(".");}

动手遍历

function commaNum(num) {     let parts = num.toString().split('.')  parts[0] = ((str) => {    let tmp = ''    let counter = 0    for(let i = str.length - 1; i >= 0; i--) {      if (counter == 3) {        tmp += ','        i++        counter = 0        continue      }      tmp += str[i]      counter++    }    tmp = tmp.split('').reverse().join('')    return tmp  })(parts[0])  return parts.join('.')}console.log(commaNum('23456324')) // '23,456,324'console.log(commaNum('')) // ''console.log(commaNum('23')) // '23'console.log(commaNum('243')) // '243'console.log(commaNum('2343.345')) // '2,343.345'

转载地址:http://nauwz.baihongyu.com/

你可能感兴趣的文章
MySQL Binlog 日志监听与 Spring 集成实战
查看>>
MySQL binlog三种模式
查看>>
multi-angle cosine and sines
查看>>
Mysql Can't connect to MySQL server
查看>>
mysql case when 乱码_Mysql CASE WHEN 用法
查看>>
Multicast1
查看>>
mysql client library_MySQL数据库之zabbix3.x安装出现“configure: error: Not found mysqlclient library”的解决办法...
查看>>
MySQL Cluster 7.0.36 发布
查看>>
Multimodal Unsupervised Image-to-Image Translation多通道无监督图像翻译
查看>>
MySQL Cluster与MGR集群实战
查看>>
multipart/form-data与application/octet-stream的区别、application/x-www-form-urlencoded
查看>>
mysql cmake 报错,MySQL云服务器应用及cmake报错解决办法
查看>>
Multiple websites on single instance of IIS
查看>>
mysql CONCAT()函数拼接有NULL
查看>>
multiprocessing.Manager 嵌套共享对象不适用于队列
查看>>
multiprocessing.pool.map 和带有两个参数的函数
查看>>
MYSQL CONCAT函数
查看>>
multiprocessing.Pool:map_async 和 imap 有什么区别?
查看>>
MySQL Connector/Net 句柄泄露
查看>>
multiprocessor(中)
查看>>