本篇文章更新与2019年6月7日,这篇文章我将接受 通过js代码如何做到字节转化其他字节函数。
这里我们将要介绍下字节术语:
在计算机里我们在存储变量等信息时往往会吧信息存到内存中,这就出现了容量的概念,所以字节是计算机计量存储容量的一种单位。
常用的字节单位有如下图:
通过以上的讲解对大家有所了解了吧,接下来将字节转化函数讲解:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | function byteConvert(bytes) { if (isNaN(bytes)) { return ''; } //在这里定义了常用的字节,字节、千字节、兆字节、吉字节、太字节、拍字节、艾字节、Z字节、Y字节 var symbols = ['bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB']; var exp = Math.floor(Math.log(bytes) / Math.log(2)); if (exp < 1) { exp = 0; } var i = Math.floor(exp / 10); bytes /= Math.pow(2, 10 * i); if (bytes.toString().length > bytes.toFixed(2).toString().length) { bytes = bytes.toFixed(2); } return bytes + ' ' + symbols[i]; }; |
调用和输出
1 2 3 4 5 6 7 8 9 10 | byteConvert(778666666) "742.59 MB" byteConvert(77866666612131332) "69.16 PB" byteConvert('22') "22 bytes" byteConvert('22b') "" byteConvert(1024*1024) "1 MB" |