js格式化流量显示

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>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值