/**
* 转换流量格式为xxGBxxMBxxKB
* @param flow 156165(xxxxxx)
*/
public String changeFlowFormat(String flow) {
Integer flows = Integer.valueOf(flow);
if (flows > 0 && flows < 1024) {//小于1M
return flows + "KB";
} else if (flows >= 1024 && flows < 1048576) {//大于1M小于1G
int changeM = (int) Math.floor(flows / 1024);//整M数
int surplusM = (int) Math.floor(flows % 1024);//除M后的余数
if (surplusM > 0) {//余数大于0KB
return changeM + "MB" + surplusM + "KB";
} else {//整M,没有余数
return changeM + "MB";
}
} else if (flows >= 1048576) {//大于1G
int changeG = (int) Math.floor(flows / 1048576);//整G数
int surplusG = (int) Math.floor(flows % 1048576);//除G后的余数
if (surplusG >= 1024) {//余数大于大于1M
int changeM = (int) Math.floor(surplusG / 1024);
int surplusM = (int) Math.floor(surplusG % 1024);
if (surplusM > 0) {//余数大于0KB
return changeG + "GB" + changeM + "MB" + surplusM + "KB";
} else {//整M,没有余数
return changeG + "GB" + changeM + "MB";
}
} else if (surplusG < 1024 && surplusG > 0) {//余数小于1M,大于0K
int surplusM = (int) Math.floor(surplusG % 1024);
return changeG + "GB" + surplusM + "KB";
} else {
return changeG + "GB";
}
}
return "暂无数据";
} //js方法 /**
* 转换流量格式为xxGBxxMBxxKB
* @param flow 156165(xxxxxx)
*/
function changeFlowFormat(flow) {
console.log(flow);
if (flow >= 0 && flow < 1024) {//小于1M
return flow + "KB";
} else if (flow >= 1024 && flow < 1048576) {//大于1M小于1G
var changeM = Math.floor(flow / 1024);//整M数
var surplusM = Math.floor(flow % 1024);//除M后的余数
if (surplusM > 0) {//余数大于0KB
return changeM + "MB" + surplusM + "KB";
} else {//整M,没有余数
return changeM + "MB";
}
} else if (flow >= 1048576) {//大于1G
var changeG = Math.floor(flow / 1048576);//整G数
var surplusG = Math.floor(flow % 1048576)//除G后的余数
if (surplusG >= 1024) {//余数大于大于1M
var changeM = Math.floor(surplusG / 1024);
var surplusM = Math.floor(surplusG % 1024);
if (surplusM > 0) {//余数大于0KB
return changeG + "GB" + changeM + "MB" + surplusM + "KB";
} else {//整M,没有余数
return changeG + "GB" + changeM + "MB";
}
} else if (surplusG < 1024 && surplusG > 0) {//余数小于1M,大于0K
var surplusM = Math.floor(surplusG % 1024);
return changeG + "GB" + surplusM + "KB";
} else {
return changeG + "GB";
}
}
return "暂无数据";
}

java将流量KB转换为GB、MB、KB格式的更多相关文章

  1. java 上传文件大小转换为 GB/MB/KB/B

    1.工具类 package cn.cmodes.common.utils; import java.io.File; import java.io.FileInputStream; import ja ...

  2. php文件大小单位转换GB MB KB

    private function formatBytes($size){ $units = array('字节','K','M','G','T'); $i = 0; for( ; $size>= ...

  3. GB MB KB B 关系

    1KB=1024Bytes=2的10次方Bytes 1MB=1024KB=2的20次方Bytes 1GB=1024MB=2的30次方Bytes 1TB=1024GB=2的40次方Bytes

  4. 文件大小转换成可显示的Mb,Gb和kb方法

    public static String unitConversion(float resource) { String[] unit = new String[] { "B", ...

  5. 关于 KB/KiB、MB/MiB

    ermmm--怎么说呢,这个非常容易搞混,那就写篇 blog 澄清一下吧-- 首先贴上百度百科的官方定义 根据国际单位制标准,1KB = 1000B(字节, Byte). 根据按照 IEC 命名标准 ...

  6. JAVA 长整型转换为IP地址的方法

    JAVA 长整型转换为IP地址的方法 代码例如以下: /** * 整型解析为IP地址 * @param num * @return */ public static String int2iP(Lon ...

  7. Java进阶(二十三)java中long类型转换为int类型

    java中long类型转换为int类型 由int类型转换为long类型是向上转换,可以直接进行隐式转换,但由long类型转换为int类型是向下转换,可能会出现数据溢出情况: 主要以下几种转换方法,供参 ...

  8. java.sql.SQLException: 无法转换为内部表示 -〉java 查询oracle数据库返回错误信息

    java.sql.SQLException: 无法转换为内部表示 Query: SELECT * FROM  nontheasttycoon Parameters: []    at org.apac ...

  9. Cause: java.sql.SQLException: 无法转换为内部表示(Mybatis)

    公司开发档案系统使用框架:Spring+Struts2+Mybatis+EasyUI,在开发过程中出现sql异常:“Cause: java.sql.SQLException: 无法转换为内部表示”,错 ...

随机推荐

  1. [CF1500C] Matrix Sorting (模拟)

    场上最后十几秒交上去过掉了耶! 题面 这里有两个 N ∗ M N*M N∗M 的 E x c e l \rm Excel Excel 表格 A A A 和 B B B. 我们知道 E x c e l ...

  2. vivo 基于 JaCoCo 的测试覆盖率设计与实践

    作者:vivo 互联网服务器团队- Xu Shen 本文主要介绍vivo内部研发平台使用JaCoCo实现测试覆盖率的实践,包括JaCoCo原理介绍以及在实践过程中遇到的新增代码覆盖率统计问题和频繁发布 ...

  3. 编译boost库的dll和lib

    下载Boost 下载链接:Boost Downloads 下载完成后,将其解压放置到需要编译保存的目录下,比如我自己的目录: F:\Work\Boost 打开VS编译 如果是使用的VS2017,则打开 ...

  4. 并发编程二、CPU多级缓存架构与MESI协议的诞生

    ​前言: 文章内容:线程与进程.线程生命周期.线程中断.线程常见问题总结 本文章内容来源于笔者学习笔记,内容可能与相关书籍内容重合 偏向于知识核心总结,非零基础学习文章,可用于知识的体系建立,核心内容 ...

  5. Linux之SElinux服务详解

    SElinux -> Linux安全访问策略 -> 强制性 (security安全) 是Linux操作系统的一个额外的强制性的安全访问规则.用于确定哪个进程可以访问哪些文件.目录和端口的一 ...

  6. KingbaseES OUT 类型参数过程与函数的调用方法

    对于含有 out 类型参数的过程或者函数,只能通过块方式调用,这是因为,ksql 还不支持类似 Oracle 那样通过 var 定义变量. 一.带OUT的procedure 调用 创建过程: crea ...

  7. 【android 逆向】破解crackme0502

    1.首先将crackme0502 拖入模拟器.打开应用,随意输出字符串 2. 将APK 拖入AndroidKiller 反编译 3.先查看androidmanifest.xml <?xml ve ...

  8. 【gRPC】C++异步服务端优化版,多服务接口样例

    官方的C++异步服务端API样例可读性并不好,理解起来非常的费劲,各种状态机也并不明了,整个运行过程也容易读不懂,因此此处参考网上的博客进行了重写,以求顺利读懂. C++异步服务端实例,详细注释版 g ...

  9. 域名服务DNSmasq搭建

    假设该服务端主机ip是:192.168.80.100 服务端安装(yum方式) yum install dnsmasq -y # 配置系统文件 # cp /etc/resolv.conf /etc/r ...

  10. git commit、git push、git pull、 git fetch、git merge 的含义与区别

    git commit:是将本地修改过的文件提交到本地库中: git push:是将本地库中的最新信息发送给远程库: git pull:是从远程获取最新版本到本地,并自动merge: git fetch ...