java - 十六进制字符串到 int 的转换无法正常工作

标签 java android hex

我有一个十六进制数(一种颜色)存储在一个字符串中,如下所示:“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/

相关文章:

java - 如何将资源分组到资源包中?

android - Qt Creator中Android项目编译报错 "cannot find -lc++"如何解决?

c++ - 十进制转十六进制C++内置函数

java - java对象转字符串数组

JavaDoc 不生成带句号的语句

java - 在 Android 上使用 Rhino 的问题

c# - 如何将十六进制颜色值转换为其人类可读的字符串表示形式?

string - 来自十六进制字符串的 NSData?

java - 如果语句为 false 时运行

android - 过渡动画中共享元素溢出导航栏