麻烦整数解析两个简单的字符串

时间:2014-03-05 00:58:31

标签: java android xml eclipse android-activity

我遇到整数解析2个字符串并连接包含的整数的问题。我发现当要解析的整数长度超过5个字符时,单击该按钮时程序/应用程序崩溃。

我该怎么做才能解决这个问题? (使其适用于长度超过5个字符的整数)

代码:

public void SimpleButton (View V){
        int ab = 123456;
        int abc = 223456;

        int a = Integer.parseInt(Integer.toString(ab) + Integer.toString(abc));

            Toast.makeText(getBaseContext(), String.valueOf(a), Toast.LENGTH_LONG).show();
          }

2 个答案:

答案 0 :(得分:1)

MAX_VALUE整数是2,147,483,647但是当你连接String值时,你得到的数字123,456,223,456远大于整数的最大值。您必须使用Long

long a = Long.parseLong(Integer.toString(ab) + Integer.toString(abc));

答案 1 :(得分:0)

当您将两个数字的String形式连接在一起时,您会得到一个12位数字,这个数字太大而无法存储在int中。最大值约为21亿,为10位数。常数Integer.MAX_VALUE is the maximum possible int, 2147483647

使用Long.parseLong解析long,可以处理更大的数字(或减少ab和/或abc中的位数)。常数Long.MAX_VALUE is the maximum possible long, 9223372036854775807L,即19位数。

long a = Long.parseLong(Integer.toString(ab) + Integer.toString(abc));