Не удалось преобразовать шестнадцатеричный формат ARGB в целое число.

Я пытаюсь разобрать шестнадцатеричный файл 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)
...

Когда я пытаюсь проанализировать обычный RGB String, такой как 686868, он работает, но когда я добавляю альфу, он ломается. Я надеюсь, что кто-то может мне помочь.


person Mats Hofman    schedule 09.10.2011    source источник


Ответы (4)


Число было бы слишком большим для целого числа.

Используйте 1_

person Peter Knego    schedule 09.10.2011

Используйте java.lang.Long.parseLong()int имеет знак, поэтому это всего 31 бит + 1 знаковый бит, и вы используете все 4 * 8 = 32 бита.

person 9000    schedule 09.10.2011

Вы можете использовать Color.parseColor(String), чтобы получить int

person galilio    schedule 06.11.2011

Color.parseColor(String);

если это гексакод, сделай это

Color.parseColor("#ffffff");
person DeltaCap019    schedule 20.04.2012