2010-11-05 32 views
3

我试图从EditText字段中将两个数字一起添加。到目前为止,我有下面的代码,我相信将EditText字段'pos1_deg'&'pos2_deg'转换为整数deg1 & deg2。将整数转换为字符串的问题

deg1 = Integer.parseInt(pos1_deg.getText().toString()); 
deg2 = Integer.parseInt(pos2_deg.getText().toString()); 

我然后执行以下操作将其添加在一起

degSum = deg1 + deg2 

然后是degSum寄存器保存DEG1的总和& 2.这是正确的那么远?

然后输出回'结果'EditText我需要将整数degSum更改为一个字符串。我认为正确的方法是使用下面的代码:不过,我得到一个“无法调用的toString()的基本类型int”错误

result.setText(degSum.toString()); 

。我究竟做错了什么?

任何帮助

+0

它是什么语言? – Anpher 2010-11-05 12:04:34

+0

语言是......? – 2010-11-05 12:04:46

+0

一小时前还有另一个问题给出了一个答案:[如何从整数转换为字符串](http://stackoverflow.com/questions/4105331/how-to-convert-from-int-to-string) – 2010-11-05 12:25:53

回答

11

(假设这是Java的...)

的消息是正确的。原始值(如int)不能在其上调用方法,因为它们不是对象。相关的方法,而不是登记在Integer类静态,所以不是你应该使用:

result.setText(Integer.toString(degSum)); 

(此方法也需要,让您指定要在数字输出基地的第二个可选参数,所以你可以通过调用Integer.toString(degSum, 16)例如获得十六进制表示。你需要大概没有什么,但现在值得铭记。)

+0

工作过。非常感谢 – Entropy1024 2010-11-05 12:41:21

0

非常感谢您是否尝试过:

result.setText(String.valueOf(deg_sum)); 
0
  1. 你可以尝试这样做将String.valueOf(deg_sum)

  2. 你可以让你的degSum不是int,但是Integer,所以toString方法将可用。

1

当您将字符串串联到非字符串时,结果是一个字符串。

例如

int deg1 = 5; 
int deg2 = 4; 
result.setText("" + deg1 + deg2): // passes in "45" (a String) 
result.setText("" + (deg1 + deg2)): // passes in "9" (a String) 
result.setText(deg1 + deg2); // passes in 9 (an int), compile error