📜  javascrpt formatBytes - Javascript (1)

📅  最后修改于: 2023-12-03 15:16:18.733000             🧑  作者: Mango

JavaScript 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为基数),并提供了带有逗号分隔符和保留两位小数的格式化结果。