Convertendo uma String em um Int
Às vezes, precisamos trabalhar com strings numéricas como se fossem números. Por exemplo, um objeto String pode conter um valor inteiro e talvez seja necessário trabalhar com ele como um inteiro. Para esta tarefa, temos a função parseInt () .
String q = nova String ("17");
int r = Integer.parseInt (q);
System.out.println (r);
O método parseInt também pode aceitar um segundo parâmetro. É chamado de raiz e indica a base numérica do valor. Se você tiver uma string binária, octal ou hexadecimal, poderá obter o valor decimal desse número.
Os números básicos são os seguintes:
- Binário = 2
- Octal = 8
- Decimal = 10
- Hexadecimal = 16
Vamos dar uma olhada em um exemplo simples. Os números hexadecimais têm base 16 e os números válidos começam entre 0 e F (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F). Portanto, o valor de F deve ser 15. Para indicar o número hexadecimal, passamos 16 para parseInt:
String q = nova String ("F");
int r = Integer.parseInt (q, 16);
System.out.println (r);
A saída prova nossa suposição:
Se você trabalhou com HTML, notou que todas as cores têm um valor hexadecimal. Por exemplo, #FFFFFF é branco. Então, qual seria o valor inteiro da cor 66ffcc? Vamos usar o parseInt para descobrir!
String q = nova String ("66ffcc");
int r = Integer.parseInt (q, 16);
System.out.println ("O valor inteiro da cor" + q + "é" r);
A saída do código é:
Verificação de erros
Estamos trabalhando com inteiros e Strings, o que pode dar errado? Na verdade, várias coisas podem acontecer durante a conversão. Isso pode resultar em erros durante a execução do programa.
String minhaString = newString ("olá");
int makeNumber = Integer.parseInt (myString);
System.out.println (makeNumber);
Para capturar as exceções, coloque a função parseInt em um bloco try e catch. O código que você deseja executar está dentro da instrução try. Após a instrução catch, você pode exibir um erro caso a conversão falhe. Como estamos tentando converter um número não numérico em numérico, a exceção será uma NumberFormatException no compilador Java.
O código para envolver a função pareseInt () em um bloco try e catch está abaixo:
String minhaString = newString ("olá");
tente {
int makeNumber = Integer.parseInt (myString);
System.out.println (makeNumber);
} catch (NumberFormatexception e) {
System.out.println ("Isso não era um número!");
}
Quando o código é executado, ele percebe que a String não contém números e, portanto, a instrução catch é executada. Em seguida, a seguinte saída é exibida desde que a exceção foi capturada.
Resumo da lição
A função parseInt () é usada para converter um valor String em um valor inteiro. O valor da String deve ser um número inteiro. É importante que o valor da String seja realmente numérico, ou o código falhará. ParseInt () pode aceitar um segundo parâmetro, chamado de raiz , que tratará o primeiro número como binário, octal ou hexadecimal (um valor hexadecimal de F retornaria um 15). Para garantir que parseInt () seja concluído, coloque o código em um bloco try e catch.