【问题标题】:Java parse hexadecimal as a integer [duplicate]Java将十六进制解析为整数[重复]
【发布时间】:2020-09-11 00:56:06
【问题描述】:

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

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)

【问题讨论】:

标签: javascript java parseint


【解决方案1】:

您正在解析的值超出整数范围。在 Java 中,整数范围从 -2,147,483,648 到 +2,147,483,647 。尝试使用 Long 代替:

 Long.parseLong("3cf1bb13f1c96", 16) 

解析成功:

> Task :Foo.main()
1072142774901910

【讨论】:

  • @Garbarius - 不要忘记接受答案,以便将来的访问者也可以放心地使用该解决方案。查看meta.stackexchange.com/questions/5234/… 了解如何操作。
  • @ArvindKumarAvinash 我已经知道了,但我想需要学习的人是你,因为在你接受答案之前应该过了 10 分钟
  • 哦……是这样吗?谢谢@Garbarius 提供此信息。我真的不知道。祝你成功!
猜你喜欢
  • 1970-01-01
  • 2010-10-10
  • 2012-05-28
  • 1970-01-01
  • 1970-01-01
  • 2012-03-08
  • 2011-04-08
  • 2023-03-25
  • 2022-11-16
相关资源
最近更新 更多