2015-10-12 39 views
0

我的問題是這樣的:字符串+雙在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)'

如何,我可以添加字符串?

+0

如果你的目的是連接導致R.string.n,你可以使用的getString(R.string.n)+導致 – Blackbelt

+0

任職:d感謝黑帶 – Crimeiaman

回答

0

我相信你的問題是有一個從字符串隱式強制轉換爲double,因爲你的函數返回一個字符串,但是你在其中存儲了一個double類型的結果。

您的代碼:

Double result = String functionThatReturnsAString(); 

您需要使用Double.parseDouble()函數轉換

Double result = Double.parseDouble(functionThanReturnsAString()); 
+0

我搶的雙發中的EditText, 「雙重結果」只是數字。 – Crimeiaman

+0

我的意思是EditText返回一個字符串,並且沒有隱式轉換(Double)字符串,所以你必須使用parseDouble函數進行轉換。我相信其他答案是更好的,因爲它看起來像只需要字符串,您只存儲Double以便稍後將其轉換回字符串。 –

+0

我用其他方法託尼魯斯,無論如何感謝您的答案。 – Crimeiaman

0

嘗試 -

builder.setMessage(Double.parseDouble(getResources.getString(R.String.n))+ result)+""); 

(您可能需要鼓搗有點從R.string.n得到字符串


the reference

+0

錯誤:-Unknown entity'getResources' – Crimeiaman

+0

使用上下文或任何使您使用'getResources()'的內容。 (我想你可能已經知道了)。或者,如果沒有,它的小谷歌查詢了! – Darpan