如何仅在JavaScript中将文件大小转换为mb?

Web*_*ics 8 javascript filesystems math

如何仅在JavaScript中将文件大小转换为MB,有时会返回长INT,我想将其转换为MB而不是显示字节或kb.

如果可能的话,我也想让它像这个例子("0.01MB")一样显示,如果它低于1 MB.

dev*_*l69 31

var sizeInMB = (sizeInBytes / (1024*1024)).toFixed(2);
alert(sizeInMB + 'MB');
Run Code Online (Sandbox Code Playgroud)


小智 9

JavaScript ES5 或更早版本:

function bytesToMegaBytes(bytes) { 
  return bytes / (1024*1024); 
}
Run Code Online (Sandbox Code Playgroud)

JavaScript ES6(箭头函数):

const bytesToMegaBytes = bytes => bytes / (1024*1024);
Run Code Online (Sandbox Code Playgroud)

如果要四舍五入到小数点后的精确数字,则:

function (bytes, roundTo) {
  var converted = bytes / (1024*1024);
  return roundTo ? converted.toFixed(roundTo) : converted;
}
Run Code Online (Sandbox Code Playgroud)

在 E6 或更高版本中:

const bytesToMegaBytes = (bytes, digits) => roundTo ? (bytes / (1024*1024)).toFixed(digits) : (bytes / (1024*1024));
Run Code Online (Sandbox Code Playgroud)
  1. Number.prototype.toFixed() 的详细信息。
  2. 您可以在下方查看文件大小转换表,以备日后帮助。 换算表