将"9632580147"转换为int时出现Java解析错误

ome*_*ega 0 java string int android type-conversion

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

            try{  
                sNumberInt = Integer.parseInt(sNumber);  
            } catch(NumberFormatException nfe) {  
                Log.d("NUMBER", nfe.getMessage());
                return;  
            } 
Run Code Online (Sandbox Code Playgroud)

它进入了阻塞区说Invalid int: "9632580147"...有谁知道如何解决这个问题?

谢谢

Psh*_*emo 5

最大值int2147483647,你试图通过9632580147哪个更大.试试吧Long.parseLong(sNumber)


Har*_*ald 5

当你输入

int sNumber = 9632580147;
Run Code Online (Sandbox Code Playgroud)

进入你的代码,编译器会告诉你:

int类型的文字9632580147超出范围

原因是你的数字太大而不适合int,请改用long.