public static String conDouble(long val, String ex) {
long dividend=1024l; //被除数
if (!"".equals(ex) && null != ex) {
ex = ex.toUpperCase(); // 转换大小
if ("KB".equals(ex)) {
if (val < dividend) {return "0."+val + "KB";}
if (val % dividend > 0) {return val / dividend + "." + (val % dividend) + "KB";}
return val / 1024 + "KB";
} else if ("MB".equals(ex)) {
dividend=(long)Math.pow(dividend, 2);
if(val < (dividend)){return "0."+val + "MB";}
if (val % (dividend) > 0) {return val / (dividend) + "." + (val % (dividend)) + "MB";}
return val / (dividend) + "MB";
} else if ("GB".equals(ex)) {
dividend=(long)Math.pow(dividend, 3);
if(val < (dividend)){return "0."+val + "GB";}
if (val % (dividend) > 0) {return val / (dividend) + "." + (val % (dividend)) + "GB";}
return val / (dividend) + "GB";
} else if ("TB".equals(ex)) {//1099511627776
dividend=(long)Math.pow(dividend, 4);
if(val < (dividend)){return "0."+val + "TB";}
if (val % (dividend) > 0) {return val / (dividend) + "." + (val % (dividend)) + "TB";}
return val / (dividend) + "TB";
}
}
return val + "";
}