2017-12-03 314 views
0

一个字符串转换为一个整数值,当我试图解析字符串输入1到一个整数值它崛起的一个NumberFormatException.I've试图如有替换字符串中的空间,但事实并非如此为我工作。NumberFormatException异常而在Java

int number = 0; 
String input1 = "12345354987"; 
try{ 
    ip = Integer.parseInt(input1); 

    }catch(NumberFormatException e){ 
     System.out.println("not a number"); 
    } 
+0

您是否尝试过寻找为电子商务的堆栈跟踪?例外通常包含非常有用的信息。 –

+1

@Eran 谢谢,它的工作对我来说..! –

+0

见https://docs.oracle.com/javase/7/docs/api/java/lang/Integer.html#MAX_VALUE。 MAX_VALUE = 2_147_483_647 –

回答

0
12345354987 > 2,147,483,64 

整数最大范围是2,147,483,647和你穿越它。对于大数字,您可以使用Long或BigDecimal。

0

它,因为在字符串的数字超出整数的范围的,如果你真的需要这比使用BigInteger的大型值是这样的:

String input1 = "12345354"; 
     BigInteger ib =new BigInteger(input1); 
     System.out.println(ib); 

或 对于能够适应远距离就可以较小的值使用:

String input1 = "1234535455"; 
      Long ip = Long.parseLong(input1); 
      System.out.println(ip); 
0

您的号码大于整数最大值请使用long然后尝试解析。