将“9632580147”转换为int时出现Java分析错误

将“9632580147”转换为int时出现Java分析错误,java,android,string,int,type-conversion,Java,Android,String,Int,Type Conversion,在java代码中,我有一个字符串9632580147,当我将其转换为int时,使用以下代码: try{ sNumberInt = Integer.parseInt(sNumber); } catch(NumberFormatException nfe) { Log.d("NUMBER", nfe.getMessage()); return;

在java代码中,我有一个字符串9632580147,当我将其转换为int时,使用以下代码:

            try{  
                sNumberInt = Integer.parseInt(sNumber);  
            } catch(NumberFormatException nfe) {  
                Log.d("NUMBER", nfe.getMessage());
                return;  
            } 
它进入catch块,说Invalid int:9632580147。。。 有人知道如何解决这个问题吗


谢谢

int的最大值是2147483647,您试图通过更大的9632580147。请尝试Long.parseLongNumber

似乎传递的值大于32位:
9632580147=1000111110001011000001001111 34位

整数最大值为2147483647。如果要将该数字分成几部分,则需要将其解析为长整数。

Java中整数的最大值为2147483647,而输入9632580147则更大。相反,请使用长数据类型:

long sNumberLong = Long.parseLong(sNumber);
你打字的时候

int sNumber = 9632580147;
在代码中,编译器将告诉您:

int类型的文字9632580147超出范围


原因是您的数字太大,无法放入整数中,请使用long。

删除数字周围的s。字符串本身没有引号,我只是将其放在这里。您可以发布您的字符串吗?int最大值为2147483647。字符串为9632580147。。。。