js格式化流量显示
显示为XXGBXXMBXXKB这种
/**
* 格式化流量显示
* @param flow
* @returns {*}
*/
laytpl.formatFlow = function (flow) {
if(undefined === flow || null == flow || '' === flow){
return "0";
}
var kb=1024,
mb=kb*1024, //把KB,MB,GB,TB用B表示
gb=mb*1024,
tb=gb*1024;
if(flow==0){return "0";}
var tbC = Math.floor(flow/tb),
flow = flow%tb,
gbC = Math.floor(flow/gb),
flow = flow%gb,
mbC = Math.floor(flow/mb),
flow = flow%mb,
kbC = Math.floor(flow/kb),
flow = flow%kb,
bC =Math.round(flow),
result = "";
if(bC >= 1024){
bC = 0;
kbC+=1;
}
if(kbC >= 1024){
kbC = 0;
mbC+=1;
}
if(mbC >= 1024){
mbC = 0;
gbC+=1;
}
if(gbC >= 1024){
gbC = 0;
tbC+=1;
}
if(tbC > 0){
result+=tbC+"TB";
}
if(gbC > 0){
result+=gbC+"GB";
}
if(mbC > 0){
result+=mbC+"MB";
}
if(kbC > 0){
result+=kbC+"KB";
}
if(bC > 0){
result+=bC+"B";
}
return result;
}
只显示一个单位带两位小数
<script type="text/html" id="communicationFlowSum">
{{# if(null == d.communicationFlowSum){ }}
<span >0</span>
{{# } else { }}
{{# if(d.communicationFlowSum <1024){ }}
<span >{{d.communicationFlowSum}}B</span>
{{# } else if(1024 <= d.communicationFlowSum && d.communicationFlowSum <1024*1024){ }}
<span >{{(d.communicationFlowSum/1024).toFixed(2)}}KB</span>
{{# } else if(1024*1024 <= d.communicationFlowSum && d.communicationFlowSum <1024*1024*1024){ }}
<span >{{(d.communicationFlowSum/(1024*1024)).toFixed(2)}}MB</span>
{{# } else if(1024*1024*1024 <= d.communicationFlowSum){ }}
<span >{{(d.communicationFlowSum/(1024*1024*1024)).toFixed(2)}}GB</span>
{{# } }}
{{# } }}
</script>