将Integer转换为String的问题

时间:2010-11-05 12:03:18

标签: java android string integer

我正在尝试从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&的总和。到目前为止这是否正确?

然后输出回'结果'EditText我需要将整数degSum更改为字符串。我认为正确的方法是使用下面的代码:

result.setText(degSum.toString());

但是我得到一个'无法对基本类型int调用toString()'错误。我做错了什么?

非常感谢您的帮助

4 个答案:

答案 0 :(得分:11)

(假设这是Java ......)

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

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

(此方法还采用可选的第二个参数,允许您指定要输出数字的基数,因此您可以通过调用Integer.toString(degSum, 16)来获取十六进制表示。可能不是您需要的现在,但值得记住。)

答案 1 :(得分:1)

当您将String连接到非String时,结果是一个String。 e。

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

答案 2 :(得分:0)

你试过了吗?

result.setText(String.valueOf(deg_sum));

答案 3 :(得分:0)

  1. 你可以尝试做String.valueOf(deg_sum)

  2. 你可以使你的degSum不是int,而是整数,所以toString方法将可用。