2011-08-01 54 views
2

我有以下问题:Java的整数parseInt函数错误

我想一些二进制字符串转换为整数:

eargb = Integer.parseInt(al + re + gre + blu, 2); 

,但我得到以下异常。为什么?

java.lang.NumberFormatException: For input string: "11111111111000101000100111111010" 

回答

7

您的电话号码(4293036538)过大,以适应在一个符号int(其中有一个范围-2,147,483,648到2,147,483,647)。

尝试使用长而不是。这有一个更大的范围。

1

您的二进制数超过整数大小。这就是为什么你得到这个异常

3

如何

long eargb = Long.parseLong(al + re + gre + blu, 2); 
0

它已有7个月,但目标答案尚未说明。这个问题也在搜索引擎中处于领先地位。上述主题是真实的。你应该使用如下:

(int)Long.parseLong("11111111111000101000100111111010",2) 

eargb =(int)Long.parseLong(al + re + gre + blu, 2);