无法将ARGB十六进制解析为整数

时间:2011-10-09 15:00:38

标签: java android parseint

我正在尝试将ARGB十六进制String解析为int,但它无效。

我的代码:

int color = Integer.parseInt("ff686868", 16);

例外:

java.lang.NumberFormatException: unable to parse 'ff686868' as integer
at java.lang.Integer.parse(Integer.java:438)
at java.lang.Integer.parseInt(Integer.java:422)
...

当我尝试解析像String这样的普通RGB 686868时,它确实有效,但是当我添加alpha时,它就会崩溃。我希望有一个人可以帮助我。

4 个答案:

答案 0 :(得分:3)

这个数字对整数来说太大了。

使用:Long.parseLong(..)

答案 1 :(得分:3)

使用java.lang.Long.parseLong() - int已签名,因此它只有31位+ 1个符号位,并且您使用所有4 * 8 = 32位。

答案 2 :(得分:3)

您可以使用Color.parseColor(String)获取int

答案 3 :(得分:0)

Color.parseColor(String);

如果其十六进制代码执行此操作

Color.parseColor("#ffffff");