Skip to content

formatNumber

格式化数字,添加千分位分隔符

数字输入

格式选项

格式化结果

1,234,567.89

函数签名

typescript
interface FormatNumberOptions {
  decimals?: number
  separator?: string
  decimalPoint?: string
  prefix?: string
  suffix?: string
}

function formatNumber(
  num: number,
  options?: FormatNumberOptions
): string

参数

参数名类型必填说明
numnumber要格式化的数字
optionsFormatNumberOptions格式化选项

FormatNumberOptions

属性名类型默认值说明
decimalsnumberundefined小数位数
separatorstring','千分位分隔符
decimalPointstring'.'小数点符号
prefixstring''前缀(如货币符号)
suffixstring''后缀(如单位)

返回值

类型说明
string格式化后的数字字符串

工作原理

  1. 根据 decimals 参数处理小数位数
  2. 分离整数部分和小数部分
  3. 使用正则表达式在整数部分添加千分位分隔符
  4. 使用指定的小数点符号连接整数和小数部分
  5. 添加前缀和后缀

使用示例

基本用法

typescript
formatNumber(1234567)
// '1,234,567'

formatNumber(1234567.89, { decimals: 2 })
// '1,234,567.89'

自定义分隔符

typescript
formatNumber(1234567, { separator: ' ' })
// '1 234 567'

formatNumber(1234567, { separator: '.' })
// '1.234.567'

货币格式

typescript
formatNumber(1234567, { prefix: '$' })
// '$1,234,567'

formatNumber(1234567.89, { 
  decimals: 2,
  prefix: '¥'
})
// '¥1,234,567.89'

单位格式

typescript
formatNumber(1234567, { suffix: '元' })
// '1,234,567元'

formatNumber(98.5, { 
  decimals: 1,
  suffix: '%'
})
// '98.5%'