在日常开发中,我们经常需要处理文件大小,并将其以更易读的格式展示给用户。本文将介绍如何使用 JavaScript 来格式化文件大小,并展示了常用的单位。
文件大小格式化函数
我们可以使用以下函数将字节数转换为更友好的格式:
1 2 3 4 5 6 7 8 9 10
| function formatFileSize(bytes) { if (bytes === 0) return "0 Bytes"; const sizes = ["Bytes", "KB", "MB", "GB", "TB"]; const i = Math.floor(Math.log(bytes) / Math.log(1024)); return parseFloat((bytes / Math.pow(1024, i)).toFixed(2)) + " " + sizes[i]; }
console.log(formatFileSize(1024)); console.log(formatFileSize(1048576)); console.log(formatFileSize(1073741824));
|
格式化为指定单位
如果你希望将文件大小格式化为指定的单位,可以稍作修改:
1 2 3 4 5 6 7 8 9 10
| function formatFileSize(bytes, unit) { const sizes = ["Bytes", "KB", "MB", "GB", "TB"]; const index = sizes.indexOf(unit); if (index === -1) throw new Error("Invalid unit");
return parseFloat((bytes / Math.pow(1024, index)).toFixed(2)) + " " + unit; }
console.log(formatFileSize(2048, "KB")); console.log(formatFileSize(1048576, "MB"));
|