我有一个十六进制数(一种颜色)存储在一个字符串中,如下所示:“ff62e6b8”。 我需要将其转换回整数,以便再次将其用作颜色值。 我尝试了以下方法:
Int i = Integer.parseInt("ff62e6b8", 16);
Int i = Integer.valueOf("ff62e6b8", 16);
Int i = Integer.decode("ff62e6b8");
但是所有这些方法都会引发异常。我在这里遗漏了什么吗?
最佳答案
FF62E6B8 是十进制的 4284671672。将它放入 int
中简直太大了.在 int
您可以存储匹配范围 <-2^31 - 1 ; 2^31 - 1>
的值.尝试使用 long
相反:
Long i = Long.parseInt("ff62e6b8", 16);
Long i = Long.valueOf("ff62e6b8", 16);
Long i = Long.decode("ff62e6b8");
关于java - 十六进制字符串到 int 的转换无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14415834/