工具函数系列-千位符格式化处理

数字千分位形式,是从个位数起,每三位之间加一个逗号,例如:1450068,经过处理之后为1,450,068

方法一:使用Number.prototype.toLocaleString()

toLocaleString() 方法返回这个数字在特定语言环境下的表示字符串。

新的 localesoptions 参数让应用程序可以指定要进行格式转换的语言,并且定制函数的行为。在旧的实现中,会忽略 localesoptions 参数,使用的语言环境和返回的字符串的形式完全取决于实现方式。

使用方式:
var num = 1234567890
console.log(num.toLocaleString())

1

方法二:使用正则表达式

function toThousands(num) {
	var numStr = (num || 0).toString();
	return numStr.replace(/(\d)(?=(?:\d{3})+$)/g, '$1,');
}
toThousands(1234567890)

2

方法三:遍历

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)

3

方法四:工具库

Numeral.js