如何在JavaScript中将文件大小转换为MB?有时候返回的是长整型,我想将其转换为MB而不是字节或KB。
如果可能的话,如果文件大小小于1MB,我希望将结果显示为"0.01MB"这样的格式。
如何在JavaScript中将文件大小转换为MB?有时候返回的是长整型,我想将其转换为MB而不是字节或KB。
如果可能的话,如果文件大小小于1MB,我希望将结果显示为"0.01MB"这样的格式。
var sizeInMB = (sizeInBytes / (1024*1024)).toFixed(2);
alert(sizeInMB + 'MB');
JavaScript ES5或更早版本:
function bytesToMegaBytes(bytes) {
return bytes / (1024*1024);
}
Javscript ES6(箭头函数):
const bytesToMegaBytes = bytes => bytes / (1024*1024);
如果您想要精确地保留小数点后几位,请按以下步骤操作:
function (bytes, roundTo) {
var converted = bytes / (1024*1024);
return roundTo ? converted.toFixed(roundTo) : converted;
}
在E6或更高版本中:const bytesToMegaBytes = (bytes, digits) => roundTo ? (bytes / (1024*1024)).toFixed(digits) : (bytes / (1024*1024));
仅限于 MB +,多功能字节转换器,可将字节转换为 KB、MB、GB
function byteConverter( bytes, decimals, only) {
const K_UNIT = 1024;
const SIZES = ["Bytes", "KB", "MB", "GB", "TB", "PB"];
if(bytes== 0) return "0 Byte";
if(only==="MB") return (bytes / (K_UNIT*K_UNIT)).toFixed(decimals) + " MB" ;
let i = Math.floor(Math.log(bytes) / Math.log(K_UNIT));
let resp = parseFloat((bytes / Math.pow(K_UNIT, i)).toFixed(decimals)) + " " + SIZES[i];
return resp;
}
let bytesInput = 2100050090;
console.log(byteConverter(bytesInput, 2));
console.log(byteConverter(bytesInput, 2, "MB" ));