转换值未显示正确的结果

时间:2013-11-04 00:27:06

标签: java android android-edittext

我有以下代码,它应该将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

知道怎么解决吗?

2 个答案:

答案 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

Math.round

  

返回将参数舍入为整数的结果。结果相当于(long) Math.floor(d+0.5)

Math.rint

  

返回将参数四舍五入为整数的结果的双转换。领带休息方向均匀。