0%

JavaScript 字节单位换算函数

需求:字节单位换算的场景

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
function byteConvert(bytes) {
if (isNaN(bytes)) {
return '';
}
let symbols = ['bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];
let exp = Math.floor(Math.log(bytes) / Math.log(2));
if (exp < 1) {
exp = 0;
}
let i = Math.floor(exp / 10);
bytes = bytes / Math.pow(2, 10 * i);

if (bytes.toString().length > bytes.toFixed(2).toString().length) {
bytes = bytes.toFixed(2);
}
return bytes + ' ' + symbols[i];
};

// 函数调用
console.log(byteConvert(109784));//107.21 KB

详解:https://juejin.cn/post/6844904018238504967