远处的是风景,近处的才是人生。清澈的空气使大地广漠无垠,把它无限地扩展开去。一切都在往远方同去,而且在召唤人们也到大地的蓝色边沿上去。
以前写过一篇关于在php中将一个文件的大小(以字节为单位),转化成以合适的单位(B,KB,MB,GB)来表示的好代码教程好代码教程,由于博主个人习惯把一些不重要的逻辑放到用户的浏览器中去执行,也就是用JS来处理。所以就写了一个利用 js 来将文件大小转化为B KB MB GB为单位的转化方法。
例1:js 字节转换成 B KB MB GB 的方法
js函数代码:
<script> function sizeTostr(size) { var data = ""; if (size < 0.1 * 1024) { //如果小于0.1KB转化成B data = size.toFixed(2) + "B"; } else if (size < 0.1 * 1024 * 1024) {//如果小于0.1MB转化成KB data = (size / 1024).toFixed(2) + "KB"; } else if (size < 0.1 * 1024 * 1024 * 1024) { //如果小于0.1GB转化成MB data = (size / (1024 * 1024)).toFixed(2) + "MB"; } else { //其他转化成GB data = (size / (1024 * 1024 * 1024)).toFixed(2) + "GB"; } var sizestr = data + ""; var len = sizestr.indexOf("\."); var dec = sizestr.substr(len + 1, 2); if (dec == "00") {//当小数点后为00时 去掉小数部分 return sizestr.substring(0, len) + sizestr.substr(len + 3, 2); } return sizestr; } </script>
函数调用方法:
<script> console.log(sizeTostr(1000)); console.log(sizeTostr(102400)); console.log(sizeTostr(10240000)); console.log(sizeTostr(1000111111)); </script>
输出结果:
0.98KB 100KB 9.77MB 0.93GB
例2:js实现KB、MB、GB、TB单位转换
看了上面中例1的代码,是不是感觉很简单,只是一些数据的比较,那么接下来看一下例2的代码。
js函数代码:
<script> // c 参数:表示要被转化的容量大小,以字节为单 // b 参数:表示如果转换时出小数,四舍五入保留多少位 默认为2位小数 function formatBytes(a, b) { if (0 == a) return "0 B"; var c = 1024, d = b || 2, e = ["B", "KB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB"], f = Math.floor(Math.log(a) / Math.log(c)); return parseFloat((a / Math.pow(c, f)).toFixed(d)) + " " + e[f]; } </script>
函数的调用:
<script> console.log(formatBytes(1234)); console.log(formatBytes(1234, 3)); console.log(formatBytes(123400, 3)); console.log(formatBytes(12340000, 3)); console.log(formatBytes(12340000000, 3)); console.log(formatBytes(12340000000000, 3)); console.log(formatBytes(1234000000000000, 3)); </script>
输出值:
1.21 KB 1.205 KB 120.508 KB 11.768 MB 11.493 GB 11.223 TB 1.096 PB
本文javascript 将文件的大小转换成 B KB MB GB的方法好代码教程到此结束。做一名自信者,牢牢把住自我生命的罗盘,让生命充畅。做一名自谦者,慢慢拓展自我生命的容量,让生命充实。做一名自爱者,深深领会自我生命的价值,让生命充美。做一名自安者,悄悄抚平自我生命的伤痕,让生命充悦。做一名自洁者,时时清除自我生命的淤积,让生命充盈。小编再次感谢大家对我们的支持!