📅  最后修改于: 2023-12-03 15:39:17.507000             🧑  作者: Mango
kmb
(千万/亿/万亿)格式在前端开发中,我们经常需要将大数值转换为 kmb
形式,以更好地展示给用户。该格式常用于表示人口数量、股票市值等等。
以下是一个将数字转换为 kmb
格式的 JavaScript 函数:
/**
* 将数字转换为 kmb(千万/亿/万亿)格式
* @param {number} num 需要转换的数字
* @param {number} decimalPlaces 保留的小数位数
* @return {string} 返回 kmb 格式的字符串
*/
function formatNumber(num, decimalPlaces = 0) {
const k = 10000;
const sizes = ['', '万', '亿', '万亿'];
const i = Math.floor(Math.log10(num) / 4);
const result = num / Math.pow(k, i);
return result.toFixed(decimalPlaces) + sizes[i];
}
在上面的代码中,我们使用了 Math.log10()
函数来确定数字所处的数量级。我们将数字除以 10000 的数量级的幂,然后使用 Number.toFixed()
方法来保留指定的小数位数。最后,我们附加了相应的单位并返回字符串。
以下是该函数的使用示例:
console.log(formatNumber(123456789)); // "1.23亿"
console.log(formatNumber(9876543210)); // "98.77亿"
console.log(formatNumber(123456789012)); // "1.23万亿"
console.log(formatNumber(123456789012, 1)); // "1.2万亿"