数字格式化器 (Intl.NumberFormat)
日常
`Intl.NumberFormat` 的可视化前端。选择 locale(en-US、de-DE、ja-JP、…)、样式(decimal、currency、percent、unit)、记号(standard、scientific、engineering、compact)与数字精度。工具显示格式化结果以及生成它的精确 JavaScript 调用,可直接粘到你的代码。便于预览价格、计数、百分比或带单位的值在不同市场的呈现。
—
已格式化
1,234,567.891
JavaScript
new Intl.NumberFormat('en-US', {
"style": "decimal",
"notation": "standard",
"useGrouping": true,
"minimumFractionDigits": 0,
"maximumFractionDigits": 3
}).format(1234567.891)所有格式化使用浏览器原生 Intl.NumberFormat — 与你生产代码使用同一引擎。
使用方法
- 输入数字并选 locale。
- 选样式(decimal/currency/percent/unit)并调精度。
- 对 `1.2M` 风格的摘要用 compact 记号、对 `1.234E6` 用 scientific。
- 复制格式化结果或对应 JavaScript 片段。
常见问题
- 为何德语将 `1.234,56` 用逗号小数?
- Locale 惯例。德语(`de-DE`)以 `.` 作千分位、`,` 作小数 — 与美式英语相反。`Intl.NumberFormat` 对每个 locale 都已知,因此硬编码 `toFixed()` 与自己加逗号对国际化应用很脆弱。
- compact 记号有何用?
- 短标签 — `1.2K`、`3.4M`、日语 `5億`。用于空间紧凑、精确位数不重要的仪表板或图表轴。常配 `maximumFractionDigits: 1` 用于典型 UI 尺寸。
- 为什么 percent 显示我输入的 100 倍?
- percent 样式会乘 100。把 `0.42` 格式化为 `42%` 是预期;若已预乘到 `42` 并想 `42%`,请追加字面量 `%` 而非使用 percent 样式。
- 支持哪些货币和单位?
- currency 样式支持所有 ISO 4217 货币代码。units 由浏览器支持的认可子集(meter、kilometer、mile、byte/megabyte 等)— 本工具公开常用项。完整列表见 MDN Intl.NumberFormat 选项。