📌  相关文章
📜  将数字转换为 kmb javascript (1)

📅  最后修改于: 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万亿"