有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

Android乘以双精度整数[java]

我有一个双倍值a=0.00059 和一个整数值,该整数值递增并与双倍值相乘(假设b=1)

当我将答案设置为textview时

//for b = 1
view.setText(((double)(a*b)));

我得到的答案是“5.9E-4”,但它应该是0.00059

我是否正确地乘以这些值


共 (3) 个答案

  1. # 1 楼答案

    除了提供的其他答案外,您还可以使用格式化程序:

    NumberFormat formatter = new DecimalFormat("#.#####");
    view.setText(formatter.format(a*b));
    
  2. # 2 楼答案

    你是在正确地乘以它们。值5.9E-40.00059在数学上和编程上是等价的。表示法5.9E-4类似于科学记数法,即5.9x10^(-4)相当于0.00059

  3. # 3 楼答案

    你得到的值和你想得到的值一样,但格式是科学的。您需要做的是将其显式转换为字符串:

    view.setText(String.format("%f", a*b));
    

    您最终可以通过以下方式指定小数点分隔符后要打印的小数位数:

    // displays two digits after the decimal separator
    view.setText(String.format("%.2f", a*b));