将文件大小(以字节为单位)转换为人类可读的字符串
2022-08-29 23:53:06
我使用此函数将以字节为单位的文件大小转换为人类可读的文件大小:
function getReadableFileSizeString(fileSizeInBytes) {
var i = -1;
var byteUnits = [' kB', ' MB', ' GB', ' TB', 'PB', 'EB', 'ZB', 'YB'];
do {
fileSizeInBytes /= 1024;
i++;
} while (fileSizeInBytes > 1024);
return Math.max(fileSizeInBytes, 0.1).toFixed(1) + byteUnits[i];
}
console.log(getReadableFileSizeString(1551859712)); // output is "1.4 GB"
但是,这似乎不是100%准确的。例如:
getReadableFileSizeString(1551859712); // output is "1.4 GB"
这难道不应该是吗?似乎1024的除法正在失去精确度。我是完全误解了什么,还是有更好的方法来做到这一点?"1.5 GB"