Java字符串到整数的转换引发NumberFormatException
我想将字符串(二进制数字)转换为Java字符串到整数的转换引发NumberFormatException,java,Java,我想将字符串(二进制数字)转换为整数,如下所示: Integer.parseInt("011000010110") 我总是收到一个NumberFormatException。位数是否过高?是的,字符串“011000010110”约为110亿,高于可表示的最大值int。试一试 或者,如果您的意思是二进制,请将基数2传递给: Java的所有数字类都以10为基数。但是,我在这里找到了这两个选项: 位集类,或将int声明为二进制数的方法(Java 7+)。后者可能不适用于您,这取决于您获取这些数字的
整数
,如下所示:
Integer.parseInt("011000010110")
我总是收到一个NumberFormatException
。位数是否过高?是的,字符串“011000010110”
约为110亿,高于可表示的最大值int
。试一试
或者,如果您的意思是二进制,请将基数2传递给:
Java的所有数字类都以10为基数。但是,我在这里找到了这两个选项:
位集类,或将int声明为二进制数的方法(Java 7+)。后者可能不适用于您,这取决于您获取这些数字的方式。它可能看起来像二进制,这将被解释为十进制(而且太高)。正如OP所说的“二进制数字”,第二个版本听起来像是正确的选择。:-)我很困惑。如果我打印parseInt(“binary”,2),则返回打印的十进制值。我想要二进制数字作为一个整数。你明白我的意思吗?正如halraldK所说,只是“数字”,而不是值。在这种情况下,将其解析为Long,就像答案中的第一个示例一样。
Long.parseLong("011000010110")
Integer.parseInt("011000010110", 2)