开发者社区> 问答> 正文

NumberFormatExceprion用于二进制字符串

我正在尝试使用代码从字符串“ 11010001110011000000000111111110”获取整数:

int n = Integer.parseInt("11010001110011000000000111111110", 2);

但我得到一个错误:

Exception in thread "main" java.lang.NumberFormatException: For input string: "11010001110011000000000111111110"

问题来源:Stack Overflow

展开
收起
montos 2020-03-21 22:10:25 1097 0
1 条回答
写回答
取消 提交回答
  • 仅仅是因为对于int数据类型,具有二进制内容的字符串表示的值太大。您需要解析为长数据类型。二进制字符串表示3519807998的值。整数最大值(Integer.MAX_VALUE)为:2147483647。尝试这个:

    String binaryString = "11010001110011000000000111111110";
    long n = Long.parseLong(binaryString, 2);
    

    或者这样:

    String binaryString = "11010001110011000000000111111110";
    long lng = new BigInteger(binaryString, 2).longValue();
    System.out.println(lng); 
    

    回答来源:Stack Overflow

    2020-03-21 22:13:01
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载