Uncategorized

Como transformar String em Int em Java

Em resumo, as strings correspondem a uma sequência (ou cadeia) de caracteres ASCII delimitados por aspas duplas, que são armazenadas em “instâncias” da classe String. Dentro dessa string pode existir caracteres alfanuméricos, formados de letras e números, e seu programa o entende como texto. Entretanto, muitas vezes precisamos transformar a informação contida dentro desta string em um número, para utilizá-la posteriormente em operações matemáticas, por exemplo.

Vamos analisar agora a conversão para números inteiros, aqueles que não possuem casas decimais. Para fazer isto, a maneira mais simples é:

<span style="font-weight: 400;">int</span><span style="font-weight: 400;"> i = </span><span style="font-weight: 400;">Integer</span><span style="font-weight: 400;">.parseInt(str)</span>

Isso significa transformar essa string para inteiro, usando um método da classe String chamado parseInt, da classe estática Integer.

Usar o trim para eliminar espaços na entrada

Podemos melhorar a aplicação desta transformação adicionando informações adicionais nesta linha. Por exemplo, como a expressão abaixo:

<span style="font-weight: 400;">int i = Integer.parseInt(str.trim())</span>

Este  ‘ .trim()’ faz com que esse método desconsidere os espaços dentro da string, caso no momento da digitação a tecla do espaço tenha sido digitada acidentalmente. Isto evita que haja algum erro quando você estiver processando esta transformação.

Este método possui dois argumentos, o segundo sendo opcional. Vamos falar um pouco agora sobre este segundo argumento.

Base do parseInt

<span style="font-weight: 400;">Integer.parseInt</span><span style="font-weight: 400;">(</span><span style="font-weight: 400;">String</span><span style="font-weight: 400;"> s</span><span style="font-weight: 400;">,</span> <span style="font-weight: 400;">int</span><span style="font-weight: 400;"> radix</span><span style="font-weight: 400;">)</span>

Se usarmos somente o parseInt(String s), o retorno será um número inteiro em base decimal.

Se  utilizarmos o método com os dois argumentos, teremos o retorno de um número integral, mas poderemos declarar qual é a representação da entrada (o string em si), seja uma base decimal, binária, octal ou hexadecimal (a base igual a 10, 2, 8, ou 16 respectivamente) . Ao se declarar a base, você tem a certeza de que todas as informações serão analisadas considerando-se esta condição.

É muito importante saber qual o tipo de dado de entrada você espera receber para saber como declarar este método, mas estas duas dicas de características adicionais (uso do trim e da base) o ajudará a filtrar vários dos erros que seriam possíveis de acontecer.

Agora que você aprendeu mais sobre Java, que tal assistir a estes vídeos interessantes do Livecoding.tv?

Para ficar sabendo quando as transmissões ao vivo começarem, siga alguns dos nossos melhores broadcasters de Java como:

Outras dicas de como trabalhar com programação em Java você pode encontrar na página das categorias do Livecoding.tv.

Avatar
About author

I, Dr. Michael J. Garbade is the co-founder of the Education Ecosystem (aka LiveEdu), ex-Amazon, GE, Rebate Networks, Y-combinator. Python, Django, and DevOps Engineer. Serial Entrepreneur. Experienced in raising venture funding. I speak English and German as mother tongues. I have a Masters in Business Administration and Physics, and a Ph.D. in Venture Capital Financing. Currently, I am the Project Lead on the community project -Nationalcoronalvirus Hotline I write subject matter expert technical and business articles in leading blogs like Opensource.com, Dzone.com, Cybrary, Businessinsider, Entrepreneur.com, TechinAsia, Coindesk, and Cointelegraph. I am a frequent speaker and panelist at tech and blockchain conferences around the globe. I serve as a start-up mentor at Axel Springer Accelerator, NY Edtech Accelerator, Seedstars, and Learnlaunch Accelerator. I love hackathons and often serve as a technical judge on hackathon panels.