我有一个双倍值a = 0.00059 和一个Integer值,它增加并乘以double值(比如b = 1)
当我设置textview的答案时
//for b = 1
view.setText(((double)(a*b)));
我得到的答案是" 5.9E-4"但它应该是0.00059。
我正确地将这些值相乘。?
答案 0 :(得分:4)
除了提供的其他答案外,您还可以使用格式化程序:
NumberFormat formatter = new DecimalFormat("#.#####");
view.setText(formatter.format(a*b));
答案 1 :(得分:3)
您正确地将它们相乘。值5.9E-4
和0.00059
在数学上和编程上是等价的。表示5.9E-4
就像科学记法,即5.9x10 ^( - 4)相当于0.00059。
答案 2 :(得分:3)
您获得的值与您想要的值相同,但格式为科学记数法。您需要做的是将其显式转换为String:
view.setText(String.format("%f", a*b));
您最终可以通过这种方式指定小数点分隔符后打印的小数位数:
// displays two digits after the decimal separator
view.setText(String.format("%.2f", a*b));