formatFileSize
格式化文件大小为人类可读的格式
字节输入
格式选项
格式化结果
1.00 MB函数签名
typescript
function formatFileSize(
bytes: number,
decimals?: number,
locale?: 'zh' | 'en'
): string参数
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
bytes | number | 是 | 文件大小(字节) |
decimals | number | 否 | 小数位数,默认为 2 |
locale | 'zh' | 'en' | 否 | 语言设置,默认为 'en' |
返回值
| 类型 | 说明 |
|---|---|
string | 格式化后的文件大小字符串 |
异常
| 错误类型 | 触发条件 | 错误信息 |
|---|---|---|
Error | bytes < 0 | 'File size cannot be negative' |
工作原理
- 处理特殊情况:0字节返回 "0 Bytes" 或 "0 字节"
- 计算合适的单位(Bytes, KB, MB, GB, TB, PB)
- 将字节数转换为对应单位的数值
- 格式化为指定小数位数
- 拼接数值和单位返回
单位对照表
| 单位 | 字节数 | 中文 |
|---|---|---|
| Bytes | 1 | 字节 |
| KB | 1024 | KB |
| MB | 1024² | MB |
| GB | 1024³ | GB |
| TB | 1024⁴ | TB |
| PB | 1024⁵ | 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'