/**
转换容量单位换算方法zk
**/
function unitConver(limit){
var limit=limit.toLowerCase();//转换为小写
if(limit.indexOf('b')==-1){ //如果无单位,加单位递归转换
limit=limit+"kb";
}
var reCat=/[0-9]*[a-z]b/;
if(!reCat.test(limit)&&limit.indexOf('b')!=-1){ //如果单位是b,转换为kb加单位递归
limit=limit.substring(0,limit.indexOf('b')); //去除单位,转换为数字格式
limit=Math.ceil((limit/1024))+'kb'; //换算舍入加单位
}
if(limit.indexOf('kb')!=-1&&limit.length>5){ //如果为kb,转换为mb加单位递归
limit=limit.substring(0,limit.indexOf('kb')); //去除单位,转换为数字格式
limit=Math.ceil((limit/1024))+'mb'; //换算舍入加单位
}
if(limit.indexOf('mb')!=-1&&limit.length>5){ //如果为mb,转换为gb加单位递归
limit=limit.substring(0,limit.indexOf('mb'));//去除单位,转换为数字格式
limit=Math.ceil((limit/1024))+"gb"; //换算舍入加单位
}
if(limit.indexOf('gb')!=-1&&limit.length>5){ //如果为gb,转换为tb加单位递归
limit=limit.substring(0,limit.indexOf('gb'));//去除单位,转换为数字格式
limit=Math.ceil((limit/1024))+"tb"; //换算舍入加单位
return limit; //tb为最大单位转换后跳出
}
return limit;
}
方法2:
function unitConver1(limit){
var index=0;
var moveidex=0;
var limit=limit.toLowerCase();//转换为小写
if(limit.indexOf('b')==-1){ //如果无单位,加单位递归转换
limit=limit+"kb";
//unitConver(limit);
}
var reCat=/[0-9]*[a-z]b/;
if(!reCat.test(limit)&&limit.indexOf('b')!=-1&&limit.length>4){ //如果单位是b,转换为kb加单位递归
limit=limit.substring(0,limit.indexOf('b')); //去除单位,转换为数字格式
limit=Math.ceil((limit/1024))+'kb'; //换算舍入加单位
//unitConver(limit);
}
var array=new Array('kb','mb','gb','tb','pt');
for(var i=0;i<array.length;i++){ //记录所在的位置
if(limit.indexOf(array[i])!=-1){
index=i;
break;
}
}
var limit=limit.substring(0,(limit.length-2)); //得到纯数字
for(var i=0;i<array.length-index;i++){
limit=Math.ceil((limit/1024)); //每次缩小一个单位
if(limit<1024){ //不行进行下一次的换算单位
moveidex=i+1; //记录做了几次除法运算/至少执行一次
break;
}
}
limit=limit+array[index+moveidex]; //根据原位置和移动后的位置加入单位
return limit;
}