数字或者字符串数字添加千分符,支持小数。如1024转为1,024,1024.1024转为1,024.1024
/**
* @description 数字或者字符串数字添加千分符,支持小数。如1024转为1,024,1024.1024转为1,024.1024
* @param {Number || String} num 数字或者字符串数字,支持小数
* @return {String}
*/
function addThousandSeparator(num) {
if (!num || !Number.isFinite(+num)) return num // (!num)是针对null,因为+null返回0会导致Number.isFinite(+num)返回true,发生误判
const decimals = Number.isInteger(+num) ? '' : String(num).split('.')[1]
let arr = String(parseInt(num)).split('').reverse()
return `${arr
.map((item, index) => {
return index !== 0 && index % 3 === 0 ? item + ',' : item
})
.reverse()
.join('')}${decimals && '.' + decimals}`
}