You need to enable JavaScript to run this app. 如何在JavaScript中为金额数值添加单位后缀
优惠活动
大模型
产品
解决方案
定价
更多

如何在JavaScript中为金额数值添加单位后缀

JavaScript 大额金币数值格式化实现代码

以下代码完全匹配你提出的5步处理逻辑:

// 可自定义后缀列表,按数值量级从低到高排列
const CUSTOM_SUFFIXES = ['', 'thousand', 'million', 'billion', 'trillion'];

function formatGameGold(goldNum) {
  // 低于100万直接返回原数字
  if (goldNum < 1000000) return goldNum.toString();

  // 转为字符串方便逐位处理
  const goldStr = Math.floor(goldNum).toString();
  // 1. 提取前两位有效数字
  const firstTwo = goldStr.slice(0, 2);
  // 2. 移除前两位数字,获取剩余数字序列
  const restDigits = goldStr.slice(2);
  // 3. 计算对应后缀索引:剩余长度除以3后减1匹配0起始索引
  const suffixIndex = Math.floor(restDigits.length / 3);
  // 拼接格式化结果
  const decimalPart = restDigits[0] === '0' ? '' : `.${restDigits[0]}`;
  return `${firstTwo[0]}${decimalPart} ${CUSTOM_SUFFIXES[suffixIndex + 1]}`;
}

测试用例

  • 输入1234567 → 输出 1.2 million
  • 输入1000000 → 输出 1 million
  • 输入1890000000 → 输出 1.8 billion

可调优项

  • 若需要展示更多小数位,可修改restDigits[0]逻辑,截取前N位剩余数字作为小数部分
  • 后缀列表可直接替换为中文单位(如['', '千', '万', '亿']),如需适配中文万级单位规则,仅需调整索引计算逻辑即可
  • 若游戏金币存在小数,可在函数开头添加goldNum = Math.round(goldNum)统一取整后处理

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.12 09:39:03