AlertDialog 中的 String + Double
String + Double in AlertDialog
我的问题是:
Double result = SubActivity.this.resultado(SubActivity.this.num1, SubActivity.this.pes1, SubActivity.this.num2, SubActivity.this.pes2,
SubActivity.this.num3, SubActivity.this.pes3,
SubActivity.this.num4, SubActivity.this.pes4,
SubActivity.this.num5, SubActivity.this.pes5);
AlertDialog.Builder builder = new AlertDialog.Builder(SubActivity.this);
builder.setIcon(R.drawable.ic_launcher);
builder.setTitle(R.string.result);
builder.setMessage(R.string.n + result);
builder.setPositiveButton("OK", null);
builder.show();
return;
但是我得到一个错误:
There is no applicable method to '(double)'
如何添加字符串?
我认为您的问题是存在从字符串到双精度的隐式转换,因为您的函数 returns 是一个字符串,但您在其中存储的是双精度类型的结果。
您的代码:
Double result = String functionThatReturnsAString();
您需要使用 Double.parseDouble() 函数进行转换
Double result = Double.parseDouble(functionThanReturnsAString());
尝试-
builder.setMessage(Double.parseDouble(getResources.getString(R.String.n))+ result)+"");
(您可能需要修改一下才能从 R.string.n
中获取字符串
the reference
我的问题是:
Double result = SubActivity.this.resultado(SubActivity.this.num1, SubActivity.this.pes1, SubActivity.this.num2, SubActivity.this.pes2,
SubActivity.this.num3, SubActivity.this.pes3,
SubActivity.this.num4, SubActivity.this.pes4,
SubActivity.this.num5, SubActivity.this.pes5);
AlertDialog.Builder builder = new AlertDialog.Builder(SubActivity.this);
builder.setIcon(R.drawable.ic_launcher);
builder.setTitle(R.string.result);
builder.setMessage(R.string.n + result);
builder.setPositiveButton("OK", null);
builder.show();
return;
但是我得到一个错误:
There is no applicable method to '(double)'
如何添加字符串?
我认为您的问题是存在从字符串到双精度的隐式转换,因为您的函数 returns 是一个字符串,但您在其中存储的是双精度类型的结果。
您的代码:
Double result = String functionThatReturnsAString();
您需要使用 Double.parseDouble() 函数进行转换
Double result = Double.parseDouble(functionThanReturnsAString());
尝试-
builder.setMessage(Double.parseDouble(getResources.getString(R.String.n))+ result)+"");
(您可能需要修改一下才能从 R.string.n
the reference