📅  最后修改于: 2023-12-03 15:16:18.733000             🧑  作者: Mango
formatBytes
- JavaScript在编程中,经常需要对字节进行格式化的操作,例如将字节转换为可读的单位(如KB、MB、GB)、添加逗号分隔符等。JavaScript提供了一个formatBytes
函数,可以轻松实现字节格式化的功能。
/**
* 将字节格式化为可读的单位
* @param {number} bytes - 要格式化的字节大小
* @returns {string} - 格式化后的字符串,带有适当的单位
*/
function formatBytes(bytes) {
if (bytes === 0) return '0 Bytes';
const k = 1024;
const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB'];
const i = Math.floor(Math.log(bytes) / Math.log(k));
return parseFloat((bytes / Math.pow(k, i)).toFixed(2)) + ' ' + sizes[i];
}
// 示例用法
console.log(formatBytes(500)); // 输出 "500 Bytes"
console.log(formatBytes(1024)); // 输出 "1 KB"
console.log(formatBytes(1234567890)); // 输出 "1.15 GB"
formatBytes
函数接受一个参数bytes
,表示要格式化的字节大小。函数首先检查bytes
是否为0,如果是,则直接返回"0 Bytes"。接下来,函数定义了一个常量k
,表示1KB的字节数,以及一个数组sizes
,用于存储不同单位的字符串。然后,函数使用对数运算将字节转换为以k
为底的对数,然后使用Math.floor
函数舍去小数部分,得到单位的索引i
。最后,函数通过除以Math.pow(k, i)
将字节大小转换为适当的单位,并使用toFixed
函数限制小数位数。最终,函数返回格式化后的字符串。
formatBytes
函数可以很方便地将字节格式化为可读的单位。它可用于对文件大小、网络传输等进行格式化处理。该函数采用了常见的二进制单位(以1024为基数),并提供了带有逗号分隔符和保留两位小数的格式化结果。