Есть такие строки:
0x16
012
0b10
62
Нужно перевести их в:
22
10
2
62
соответственно, но при использовании Integer.parseInt(String, int) получаю NumberFormatException, как решить эту проблему?
Ответ
например, можно написать такую функцию
private static int StringToInteger(String input)
{
if(input.startsWith("0x"))
{
return Integer.parseInt(input.substring(2), 16);
}
else if(input.startsWith("0b"))
{
return Integer.parseInt(input.substring(2), 2);
}
else if(input.startsWith("0") && input.length() > 1)
{
return Integer.parseInt(input.substring(1), 8);
}
else
{
return Integer.parseInt(input);
}
}
Комментариев нет:
Отправить комментарий