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%'