【问题标题】:Java Integer parseInt errorJava整数解析错误
【发布时间】:2011-10-17 07:59:08
【问题描述】:
我有以下问题:
我想将一些二进制字符串转换为整数:
eargb = Integer.parseInt(al + re + gre + blu, 2);
但我得到以下异常。为什么?
java.lang.NumberFormatException: For input string: "11111111111000101000100111111010"
【问题讨论】:
标签:
java
binary
integer
parseint
【解决方案1】:
您的数字 (4,293,036,538) 太大,无法放入有符号整数(范围为 -2,147,483,648 到 2,147,483,647)。
尝试使用 long 来代替。这个范围更大。
【解决方案2】:
您的二进制数超出了整数大小。这就是你得到这个异常的原因
【解决方案3】:
怎么样
long eargb = Long.parseLong(al + re + gre + blu, 2);
【解决方案4】:
已经 7 个月了,但尚未描述目标答案。这个问题也在搜索引擎中处于领先地位。上述题目属实。你应该使用如下:
(int)Long.parseLong("11111111111000101000100111111010",2)
eargb =(int)Long.parseLong( al + re + gre + blu, 2);