我不确定这是我或什么,但我有一个问题,将双精度转换为字符串。

这是我的代码:

double total = 44;
String total2 = Double.toString(total);

是我做错了什么,还是我漏了一步。

我得到错误NumberFormatException时,试图转换这个。

totalCost.setOnTouchListener(new OnTouchListener() {
  public boolean onTouch(View v, MotionEvent event) {
    try {
      double priceG = Double.parseDouble(priceGal.getText().toString());
      double valG = Double.parseDouble(volGal.toString());
      double total = priceG * valG;
      String tot = new Double(total).toString();
      totalCost.setText(tot);
    } catch(Exception e) {
      Log.e("text", e.toString());
    }

    return false;
  }         
});

我试图在onTouchListener中做到这一点。我张贴更多的代码,基本上当用户触摸编辑文本框,我想要的信息计算一个填充编辑文本框。


当前回答

完整的信息

你可以使用String.valueOf()浮点数,双精度,int,布尔等。

double d = 0;
float f = 0;
int i = 0;
short i1 = 0;
char c = 0;
boolean bool = false;
char[] chars = {};
Object obj = new Object();


String.valueOf(d);
String.valueOf(i);
String.valueOf(i1);
String.valueOf(f);
String.valueOf(c);
String.valueOf(chars);
String.valueOf(bool);
String.valueOf(obj);

其他回答

double priceG = Double.parseDouble(priceGal.getText().toString());
double valG = Double.parseDouble(volGal.toString());

其中之一是抛出异常。您需要添加一些日志/打印,以查看volGal和priceGal中的内容-这不是您想的那样。

double total = 44;
String total2 = new Double(total).toString();

异常可能来自parseDouble()调用。检查赋予该函数的值是否真的反映了double。

使用StringBuilder类,如下所示:

StringBuilder meme = new StringBuilder(" ");

// Convert and append your double variable
meme.append(String.valueOf(doubleVariable));

// Convert string builder to string
jTextField9.setText(meme.toString());

你会得到你想要的输出。

科特林

您可以在kotlin中的任何数据类型上直接使用.toString,例如

val d : Double = 100.00
val string : String = d.toString()