工具函数系列-千位符格式化处理
数字千分位形式,是从个位数起,每三位之间加一个逗号,例如:1450068,经过处理之后为1,450,068
方法一:使用Number.prototype.toLocaleString()
toLocaleString()
方法返回这个数字在特定语言环境下的表示字符串。
新的 locales
和 options
参数让应用程序可以指定要进行格式转换的语言,并且定制函数的行为。在旧的实现中,会忽略 locales
和 options
参数,使用的语言环境和返回的字符串的形式完全取决于实现方式。
使用方式:
var num = 1234567890
console.log(num.toLocaleString())
方法二:使用正则表达式
function toThousands(num) {
var numStr = (num || 0).toString();
return numStr.replace(/(\d)(?=(?:\d{3})+$)/g, '$1,');
}
toThousands(1234567890)
方法三:遍历
function toThousands(num) {
let res = '', numStr = (num || 0).toString()
while (numStr.length > 3) {
res = `,${numStr.slice(-3)}${res}`
numStr = numStr.slice(0, -3)
}
numStr && (res = numStr + res)
if (res.charAt(0) === ',') {
res = res.substring(1)
}
return res
}
toThousands(1234567890)