相关疑难解决方法(0)

将文件大小以字节为单位转换为人类可读的字符串

我正在使用此函数将文件大小(以字节为单位)转换为人类可读的文件大小:

function getReadableFileSizeString(fileSizeInBytes) {
    var i = -1;
    var byteUnits = [' kB', ' MB', ' GB', ' TB', 'PB', 'EB', 'ZB', 'YB'];
    do {
        fileSizeInBytes = fileSizeInBytes / 1024;
        i++;
    } while (fileSizeInBytes > 1024);

    return Math.max(fileSizeInBytes, 0.1).toFixed(1) + byteUnits[i];
};
Run Code Online (Sandbox Code Playgroud)

但是,似乎这并非100%准确.例如:

getReadableFileSizeString(1551859712); // output is "1.4 GB"
Run Code Online (Sandbox Code Playgroud)

不应该这样"1.5 GB"吗?似乎1024的划分正在失去精度.我完全误解了某些东西,还是有更好的方法来做到这一点?

javascript filesize human-readable

223
推荐指数
16
解决办法
9万
查看次数

标签 统计

filesize ×1

human-readable ×1

javascript ×1