Skip to content

formatFileSize

格式化文件大小为人类可读的格式

字节输入

格式选项

格式化结果

1.00 MB

函数签名

typescript
function formatFileSize(
  bytes: number,
  decimals?: number,
  locale?: 'zh' | 'en'
): string

参数

参数名类型必填说明
bytesnumber文件大小(字节)
decimalsnumber小数位数,默认为 2
locale'zh' | 'en'语言设置,默认为 'en'

返回值

类型说明
string格式化后的文件大小字符串

异常

错误类型触发条件错误信息
Errorbytes < 0'File size cannot be negative'

工作原理

  1. 处理特殊情况:0字节返回 "0 Bytes" 或 "0 字节"
  2. 计算合适的单位(Bytes, KB, MB, GB, TB, PB)
  3. 将字节数转换为对应单位的数值
  4. 格式化为指定小数位数
  5. 拼接数值和单位返回

单位对照表

单位字节数中文
Bytes1字节
KB1024KB
MB1024²MB
GB1024³GB
TB1024⁴TB
PB1024⁵PB

使用示例

基本用法

typescript
formatFileSize(1024)
// '1.00 KB'

formatFileSize(1048576)
// '1.00 MB'

formatFileSize(1073741824, 2)
// '1.00 GB'

中文格式

typescript
formatFileSize(1024, 2, 'zh')
// '1.00 KB'

formatFileSize(1048576, 2, 'zh')
// '1.00 MB'

自定义小数位数

typescript
formatFileSize(1536, 0)
// '2 KB'

formatFileSize(1536, 3)
// '1.500 KB'