今天遇到一个需求,需要把数据单位进行换算,记录一下。写的不好请勿见怪。
function bytesToSize( bytes ) {//单位转化
var k = 1024,
sizes = [‘b‘,‘KB‘,‘MB‘, ‘GB‘, ‘TB‘, ‘PB‘, ‘EB‘, ‘ZB‘, ‘YB‘];
if(bytes === 0){
return {
txt: 0,
unit: sizes[0],
charge: 1
};
}else{
var i = Math.floor(Math.log(bytes) / Math.log(k));
return {
txt: ( bytes / Math.pow(k, i)).toPrecision(3),//转化后的具体数值,整体保持三位数 (注:
toPrecision
()如果小数点第一位为0 它会返回1.03e之类的 你可以使用toFixed())
unit: sizes[i], //转化后的单位
charge: Math.pow(k, i) //你除了多少个1024
}
}
}