输入一个表示文件大小的数字,自适应转换到KB,MB,GB

  方法一:bytes自适应转换到KB,MB,GB

 /// <summary>
/// 格式化文件大小的JS方法
/// </summary>
/// <param name="filesize">文件的大小,传入的是一个bytes为单位的参数</param>
/// <returns>格式化后的值</returns>
function renderSize(filesize){
if(null==value||value==''){
return "0 Bytes";
}
var unitArr = new Array("Bytes","KB","MB","GB","TB","PB","EB","ZB","YB");
var index=0;
var srcsize = parseFloat(value);
index=Math.floor(Math.log(srcsize)/Math.log(1024));
var size =srcsize/Math.pow(1024,index);
size=size.toFixed(2);//保留的小数位数
return size+unitArr[index];
}

  方法二:bytes自适应转换到KB,MB,GB

 function formatFileSize(fileSize) {
if (fileSize < 1024) {
return fileSize + 'B';
} else if (fileSize < (1024*1024)) {
var temp = fileSize / 1024;
temp = temp.toFixed(2);
return temp + 'KB';
} else if (fileSize < (1024*1024*1024)) {
var temp = fileSize / (1024*1024);
temp = temp.toFixed(2);
return temp + 'MB';
} else {
var temp = fileSize / (1024*1024*1024);
temp = temp.toFixed(2);
return temp + 'GB';
}
}

  方法三:可以设定输入的文件长度的参数的原始单位,自适应转换到KB,MB,GB

 /**
* [fileLengthFormat 格式化文件大小]
* @param {[int]} total [文件大小]
* @param {[int]} n [total参数的原始单位如果为Byte,则n设为1,如果为kb,则n设为2,如果为mb,则n设为3,以此类推]
* @return {[string]} [带单位的文件大小的字符串]
*/
function fileLengthFormat(total, n) {
var format;
var len = total / (1024.0);
if (len > 1000) {
return arguments.callee(len, ++n);
} else {
switch (n) {
case 1:
format = len.toFixed(2) + "KB";
break;
case 2:
format = len.toFixed(2) + "MB";
break;
case 3:
format = len.toFixed(2) + "GB";
break;
case 4:
format = len.toFixed(2) + "TB";
break;
}
return format;
}
}
 //假如文件大小为1024byte,想自适应到kb,则如下传参
fileLengthFormat(1024,1);//"1.00KB"
//假如文件大小为1024kb,想自适应到mb,则如下传参
fileLengthFormat(1024,2);//"1.00MB"
//测试
fileLengthFormat(112233445566,1);//"104.53GB"

-------------------------------------------------------------------------------------------------------------

【JS】JS格式化文件大小 单位:Bytes、KB、MB、GB的更多相关文章

  1. Bit,Bytes,KB,MB,GB,TB,PB,EB,ZB,YB

    Bit,Bytes,KB,MB,GB,TB,PB,EB,ZB,YB 汉字字符 2字节英文字符 1字节中文标点 2字节英文标点 1字节一个字节就是一个八位二进制数啊,2就是00000010,4就是000 ...

  2. 根据文件大小自动判断单位B,KB,MB,GB

    <php> /** * 文件大小格式化 * @param integer $size 初始文件大小,单位为byte * @return array 格式化后的文件大小和单位数组,单位为by ...

  3. bits,Bytes,KB,MB,GB和TB之间的换算关系

    1Bytes=8bits(1字节等于8位) 1KB=1024Bytes(1KB等于1024字节) 1MB=1024KB 1GB=1024MB 1TB=1024GB 为啥带宽100M而下载大概只是12. ...

  4. js格式化文件大小,单位:Bytes、KB、MB、GB

    原文出自:https://blog.csdn.net/seesun2012 // 格式化文件大小 function renderSize(value){ if(null==value||value== ...

  5. Js 数据容量单位转换(kb,mb,gb,tb)

    function bytesToSize(bytes) { if (bytes === 0) return '0 B'; var k = 1000, // or 1024 sizes = ['B', ...

  6. JS数据容量单位转换(kb,mb,gb,tb)

    JS代码如下: var size = '8164674'; function bytesToSize(bytes) { if (bytes === 0) return '0 B'; var k = 1 ...

  7. KB/MB/GB。。单位换算

    今天遇到一个需求,需要把数据单位进行换算,记录一下.写的不好请勿见怪. function bytesToSize( bytes ) {//单位转化         var k = 1024,      ...

  8. 我的Android进阶之旅------>Java文件大小转换工具类 (B,KB,MB,GB,TB,PB之间的大小转换)

    Java文件大小转换工具类 (B,KB,MB,GB,TB,PB之间的大小转换) 有时候要做出如下所示的展示文件大小的效果时候,需要对文件大小进行转换,然后再进行相关的代码逻辑编写. 下面是一个Java ...

  9. 计算机存储单位KB,MB,GB,TB,PB,EB,ZB,YB后面是什么?

    关于计算机存储单位KB,MB,GB,TB,PB,EB,ZB,YB后面是什么? 我们知道Kb是1000的1次方,所以 MB就是1000的2次方(106) GB就是1000的3次方(109) TB就是10 ...

随机推荐

  1. Codeforces Round #459 Div. 1

    C:显然可以设f[i][S]为当前考虑到第i位,[i,i+k)的状态为S的最小能量消耗,这样直接dp是O(nC(k,x))的.考虑矩阵快速幂,构造min+转移矩阵即可,每次转移到下一个特殊点然后暴力处 ...

  2. 洛谷P1209修理牛棚题解

    题目 这个题一眼看上去是一个贪心,但是一个贪心题就一定要用一个贪心的做法来做吗,为什么不能写一个DP呢,这个题我们可以从他修理牛棚的角度来看,价值就是一个木板可以修几个,但是也同时消耗掉了一个木板的长 ...

  3. Django+Xadmin打造在线教育系统(七)

    全局导航&个人中心&全局搜索 配置全局导航 让index页面也继承base页面,注意首页有个单独的__index.js__ base页面的导航栏也进行配置 <nav> &l ...

  4. 【bfs】迷宫问题

    [题目描述] 定义一个二维数组: int maze[5][5] = { 0,1,0,0,0, 0,1,0,1,0, 0,0,0,0,0, 0,1,1,1,0, 0,0,0,1,0, }; 它表示一个迷 ...

  5. python服务器文件上传下载+GUI【tkinter】

    大概就是一个通过应用程序来和服务器打交道的这么一个,小东西 1.GUI 用的是tkinter # -*- coding: UTF-8 -*- from tkinter import * import ...

  6. HEOI2016解题报告

    树 在2016年,佳媛姐姐刚刚学习了树,非常开心.现在他想解决这样一个问题:给定一颗有根树(根为1),有以下 两种操作:1. 标记操作:对某个结点打上标记(在最开始,只有结点1有标记,其他结点均无标记 ...

  7. centos7 下解决mysql-server找不到安装包问题

    第一步:安装从网上下载文件的wget命令 [root@master ~]# yum -y install wget 第二步:下载mysql的repo源 [root@master ~]# wget ht ...

  8. 从Java的角度修复文件下载漏洞

    从Java的角度谈下文件下载漏洞的产生,然后到他的修复方案.这里我的修复方案是白名单,而没有采用黑名单的方式. 首先先看一段存在文件下载漏洞的代码code: HTML视图页面  download.ht ...

  9. QML学习笔记(二)-纯qml画图实现canvas画板-鼠标画图

    作者: 狐狸家的鱼 Github: 八至 版权声明:如需转载请获取授权和联系作者 用纯qml实现canvas画板功能,用鼠标进行画图,可以画直线,画圆,画矩形,画弧线. 由于canvas画图会有延迟和 ...

  10. 洛谷P1117 优秀的拆分

    题意:求一个字符串中有多少形如AABB的子串. 解:嗯...我首先极度SB的想了一个后缀自动机套线段树启发式合并的做法,想必会TLE. 然后跑去看题解,发现实在是妙不可言... 显然要对每个位置求出向 ...