当前位置: 首页 > 知识库问答 >
问题:

Java将十六进制解析为整数[重复]

易风华
2023-03-14

当我将parseInt(“3cf1bb13f1c96”,16)粘贴到javascript控制台时,它成功地转换为整数值,即1072142774901910,但当我使用integer时。parseInt(“3cf1bb13f1c96”,16)在java中,它打印一些东西

Exception in thread "main" java.lang.NumberFormatException: For input string: "3cf1bb13f1c96"
    at java.lang.NumberFormatException.forInputString(Unknown Source)
    at java.lang.Integer.parseInt(Unknown Source)
    at Main.example(Main.java:line)
    at Main.example(Main.java:line)

共有1个答案

胡俊美
2023-03-14

您正在分析的值超出整数范围。在Java中,整数的范围为-2147483648到2147483647。请尝试使用Long:

 Long.parseLong("3cf1bb13f1c96", 16) 

成功解析:

> Task :Foo.main()
1072142774901910
 类似资料:
  • 问题内容: 我正在尝试将一个数字从一个整数转换为另一个整数,如果以十六进制打印,它将看起来与原始整数相同。 例如: 将20转换为32(即0x20) 将54转换为84(即0x54) 问题答案: 即,将原始数字视为十六进制,然后将其转换为十进制。

  • 我有十六进制字符串,例如“0x103E”,我想将其转换为整数。意思是to我尝试了但它给出了数字格式异常。我如何实现这一点?

  • 问题内容: 我写了一些代码将十六进制显示字符串转换为十进制整数。但是,当输入类似100a或625b(带有字母的东西)时,我得到了这样的错误: java.lang.NumberFormatException:对于输入字符串:java.lang.Integer.parseInt(未知源)处的java.lang.NumberFormatException.forInputString(未知源)处为“ 1

  • 我正在写一个Rust程序,读取I2C总线并保存数据。当我读取I2C总线时,我会得到十六进制值,比如,,等等。 现在,我只能将其作为字符串处理并按原样保存。有没有办法把它解析成一个整数?它有内置的功能吗?

  • 我在调试一个ANTLR语法时遇到了问题,我正在为Gameboy程序集工作。它似乎工作正常,但由于某些原因,它不能在某些边缘情况下处理十六进制的0x表示法。 如果我的输入字符串是“JR0x10”,antlr将失败,并出现'No Valide alternative at input‘错误。按照我的理解,这意味着我要么没有解析令牌流的规则,要么没有正确理解'0x'。如果我使用“JR$10”(我支持的替

  • 问题内容: 因此,在Java中,您知道如何声明这样的整数: 我认为您应该能够逆转这一过程。我有这个代码: 其中primary是自定义Color类的对象。它的构造函数使用Integer表示不透明度(0-99)和十六进制String(例如)。 这是方法: 当我调用此方法时,它给出了以下信息: 我不明白发生了什么事。有人可以解释一下吗? 问题答案: 请问有帮助吗? 表示您应该将字符串解释为基于16的(十