正在加载,请稍候…

数字格式化:千位分隔符、小数点和区域格式

使用千位分隔符、小数点及货币符号,根据不同区域设置格式化数字,适用于金融、数据仪表盘和国际化软件。

数字格式化:千位分隔符、小数点和区域格式

为什么数字格式化很重要

同一个数字可以根据区域、上下文和惯例以多种方式书写。正确格式化数字对于金融应用、数据仪表盘、国际化软件以及任何向人类用户显示数字的场景都至关重要。

数字格式化:千位分隔符、小数点和区域格式 插图

区域特定的数字格式

世界各地数字的格式化方式不同:

区域 示例数字 格式化结果
en-US(英语,美国) 1234567.89 1,234,567.89
de-DE(德语,德国) 1234567.89 1.234.567,89
fr-FR(法语,法国) 1234567.89 1 234 567,89
en-IN(英语,印度) 1234567.89 12,34,567.89
ja-JP(日语,日本) 1234567.89 1,234,567.89
ar-SA(阿拉伯语,沙特阿拉伯) 1234567.89 ١٬٢٣٤٬٥٦٧٫٨٩

主要区别:

  • 小数点分隔符:英语国家用点号(.),欧洲用逗号(,)
  • 千位分隔符:根据区域不同,使用逗号、点号、空格或撇号
  • 分组方式:大多数使用3位一组,印度使用拉克系统(2,2,3分组)
  • 数字字符:阿拉伯语、波斯语等语言有自己的数字符号

Intl.NumberFormat API

现代 JavaScript 提供 Intl.NumberFormat 用于区域感知的数字格式化:

// 货币格式化
new Intl.NumberFormat('en-US', {
  style: 'currency',
  currency: 'USD'
}).format(1234567.89);
// → "$1,234,567.89"

new Intl.NumberFormat('de-DE', {
  style: 'currency',
  currency: 'EUR'
}).format(1234567.89);
// → "1.234.567,89 €"

// 紧凑表示法
new Intl.NumberFormat('en-US', {
  notation: 'compact',
  compactDisplay: 'short'
}).format(1234567);
// → "1.2M"

// 百分比
new Intl.NumberFormat('en-US', {
  style: 'percent',
  minimumFractionDigits: 1
}).format(0.1234);
// → "12.3%"

数字显示格式

标准十进制

默认表示形式,包含小数点分隔符和可选的分组。

科学记数法

适用于非常大或非常小的数字:

  • 1.23456 × 10⁹(排版格式)
  • 1.23456e9(编程表示法)

数字格式化:千位分隔符、小数点和区域格式 插图

紧凑/缩写

使大数字一目了然:

  • 1,200 → "1.2K"
  • 1,500,000 → "1.5M"
  • 1,000,000,000 → "1B"

紧凑表示法广泛用于仪表盘、社交媒体粉丝数和财务摘要。

百分比

将十进制小数转换为百分比格式:0.1234 → 12.34%

货币

添加货币符号、代码或两者:

  • 符号:$1,234.56
  • 代码:USD 1,234.56
  • 名称:1,234.56 US dollars

序数

数字位置:1st, 2nd, 3rd, 4th...(因语言而异)

精度和舍入

数字格式化:千位分隔符、小数点和区域格式 插图

有效数字

数值中有意义的数字位数:

  • 1,234.5678 四舍五入到4位有效数字 = 1,235
  • 0.001234 四舍五入到4位有效数字 = 0.001234

小数位数

小数点后固定的数字位数:

  • 1234.5 保留2位小数 = 1234.50
  • 1234.5678 保留2位小数 = 1234.57(四舍五入)

舍入模式

  • 四舍五入(一半向上):2.5 → 3(日常使用常见)
  • 四舍六入五成双(银行家舍入):2.5 → 2, 3.5 → 4(减少系统偏差)
  • 截断:2.9 → 2(丢弃小数部分)

金融数字格式化

金融领域需要特别注意:

  • 对于有分币的货币,始终显示恰好2位小数
  • 某些货币没有分币(JPY, KRW)——从不显示小数位
  • 某些货币使用3位小数(KWD, BHD)
  • 在会计中,负值用括号显示:(1,234.56) 而不是 -1,234.56
  • 在财务报表中显示精确值,而非紧凑表示法

使用数字格式化工具

我们的工具:

  1. 输入任意数字——整数、小数、大数或小数
  2. 选择区域——查看任何区域标准的格式化结果
  3. 选择格式类型——十进制、货币、百分比、紧凑、科学记数法
  4. 配置精度——小数位数或有效数字
  5. 选择货币——对于货币格式,从所有 ISO 4217 代码中选择
  6. 复制格式化结果——随时粘贴使用

可用于本地化工作、金融应用、仪表盘设计,以及了解数字在不同国家用户眼中的显示方式。