我有以下代码,它应该将Bytes转换为Kilobytes。
3434343 bytes = 3353.85 KB
代码:
a = Double.parseDouble(et1.getText().toString());
double k = Math.round(a/1024*100000)/100000;
et2.setText(String.valueOf(k));
这给出了以下结果:
3434343 bytes = 3353.0 KB
知道怎么解决吗?
答案 0 :(得分:2)
您有整数值作为中间人。使用:
double k = Math.round(a/1024.0*100000.0)/100000.0;
代替。
答案 1 :(得分:2)
Math.round
返回long
。使用
Math.rint(...)
/ 100000
或((double) Math.round(...))/100000
。
返回将参数舍入为整数的结果。结果相当于
(long) Math.floor(d+0.5)
。
返回将参数四舍五入为整数的结果的双转换。领带休息方向均匀。