You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用JavaScript的Intl API将数字显示为1K、1M、1B格式?

使用JavaScript Intl API实现数字千位缩写格式化

你可以用Intl.NumberFormat替代原来的硬判断逻辑,这个API不仅能处理1000转1K的场景,还能自动适配更大的数字(比如百万转M),代码更简洁通用:

// 定义格式化函数
const formatCompactNumber = (number) => {
  return new Intl.NumberFormat('en-US', {
    notation: 'compact',       // 指定紧凑表示法
    compactDisplay: 'short'    // 使用短缩写(K、M等,而非"千""百万")
  }).format(number);
};

// 测试用例
console.log(formatCompactNumber(1000));    // 输出 "1K"
console.log(formatCompactNumber(1250));    // 输出 "1.3K"
console.log(formatCompactNumber(999999));  // 输出 "1M"
console.log(formatCompactNumber(500));     // 输出 "500"

关键参数说明

  • 'en-US':指定语言环境,确保缩写用英文的K/M等;如果需要中文缩写可以换成'zh-CN',会输出"1千"这种格式
  • notation: 'compact':开启数字的紧凑格式化模式
  • compactDisplay: 'short':选择短格式的缩写,对应的长格式'long'会输出"1 thousand"这种完整单词

这个方案比原来的硬判断灵活得多,不需要为每个数字区间写条件分支,API会自动处理不同量级的数字格式化。

内容的提问来源于stack exchange,提问作者Amitabh Anand

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 05:07:01