java将GB,Mb,KB和byte转换为精度加倍

时间:2011-11-12 20:34:16

标签: java numbers

我下载各种尺寸的文件,喜欢上 显示有关文件大小的用户友好输出。

我试过这个:

double line= (totalBytes/(1024*1024));
DecimalFormat dec = new DecimalFormat("0.00");
String result = dec.format(line);
result = result.concat("MB");

仅当大小约为1 MB时才有效。如果大小是1200000字节,我得到“1.2MB” 但是如果让文件大小为46字节,如何使其动态化。

更新 如何显示大小为46字节,如此0.000046MB或显示500KB像这样0.5MB 这必须在飞行中完成。我希望用户友好的输出始终显示X.XMB
不管有多少字节。

2 个答案:

答案 0 :(得分:3)

最简单的解决方案是检查数字是否大于/小于因子并相应地应用除法。

所以

if (totalBytes < 1024){

 //bytes
}else if (totalBytes < 1024*1024){
 //kilobytes

} //etc

答案 1 :(得分:1)

当然,你需要

double line= ((double)totalBytes/(1024*1024));