我试着用同样的双精度乘以(平方),但是结果是错误的。当我自己显示双精度数时,数字是正确的,但当我将其自身相乘时,它会得到错误的数字。我已经尝试使用math.pow函数,并得到了相同的结果。
Double height=Double.parseDouble(myPrefs.getString("Heightent",""))*.0254;
Double bmi = (height*height);
dbmi.setText(bmi.toString());在不同的活动中输入的高度以英寸为单位。当我在文本框中显示高度时,结果是正确的数字。例如,输入的Heightent为74,当我在文本视图中放置height时,将显示1.8796。但是,当我使用上面的代码时,数字16显示在TextView dbmi中。有什么帮助吗?
发布于 2012-06-15 20:23:09
看看这篇由Stephen C。
https://stackoverflow.com/a/5385202/1214163
它应该能提供你需要的一切。他建议,如果需要处理大数字,可以使用BigDecimal类
发布于 2012-06-15 20:39:35
我都试过了
Double height=Double.parseDouble("74")*.0254;
Double bmi = (height*height);
System.out.println("first " + bmi);
height=Double.parseDouble("74");
double temp = height.doubleValue()*.0254;
bmi = (temp*temp);
System.out.println("Second " + bmi);在Calc上
在任何地方都是一样的。

https://stackoverflow.com/questions/11050393
复制相似问题