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参数
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
num | number | 是 | 要格式化的数字 |
options | FormatNumberOptions | 否 | 格式化选项 |
FormatNumberOptions
| 属性名 | 类型 | 默认值 | 说明 |
|---|---|---|---|
decimals | number | undefined | 小数位数 |
separator | string | ',' | 千分位分隔符 |
decimalPoint | string | '.' | 小数点符号 |
prefix | string | '' | 前缀(如货币符号) |
suffix | string | '' | 后缀(如单位) |
返回值
| 类型 | 说明 |
|---|---|
string | 格式化后的数字字符串 |
工作原理
- 根据 decimals 参数处理小数位数
- 分离整数部分和小数部分
- 使用正则表达式在整数部分添加千分位分隔符
- 使用指定的小数点符号连接整数和小数部分
- 添加前缀和后缀
使用示例
基本用法
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%'