Como passar variáveis do tipo String para int, float e double

Nos dois artigos passados aprendemos como exibir mensagens e receber dados a partir das caixas de diálogos.

Porém, notamos que as caixas de diálogos fazem tudo isso através do tipo String.
Mas palma, palma, palma. Não criemos cânico. Pois podemos transformar o que foi digitado como string em inteiro, float, double...

Transformando string em inteiro em Java

Suponha que, através do método showInputDialog visto no artigo passado, tenhamos pedido um número ao usuário.
Ok. O usuário pediu, mas este foi armazenado numa String 'numeroString'.

Para passar essa string para inteiro, vamos usar o método da classe String chamado parseInt, da classe estática Integer.
Suponha que vamos armazenar esse valor inteiro em 'numInteiro', ficaria assim:
numInteiro = Integer.parseInt(numeroString);

Como exemplo, vamos criar um aplicativo que peça dois inteiros ao usuário e mostre a soma como resultado:
import javax.swing.JOptionPane;

public class somaGrafica {
    
    public static void main(String[] args){
        String valor, resultado;
        int num1, num2;
        
        valor = JOptionPane.showInputDialog("Digite o primeiro valor inteiro");
        num1 = Integer.parseInt(valor.trim());
        
        valor = JOptionPane.showInputDialog("Digite o segundo valor inteiro");
        num2 = Integer.parseInt(valor.trim());
        
        resultado=String.format("Resultado: %d", num1+num2);
        JOptionPane.showMessageDialog(null,resultado);
    }

}


A maioria dos cursos, tutoriais e livros por aí simplesmente se daria por satisfeito em ensinar como:
num1 = Integer.parseInt(valor);

Sem esse '.trim()'
Faça um teste. Digite '1 ', isso mesmo, com um espaço antes ou depois.
Você terá um baita erro. E aí?

'Que programa ruim!'
Pensaria qualquer usuário que, sem querer, colocasse um espaço e visse essa mensagem de erro.

O curso Java Progressivo tem por objetivo ensinar você a criar aplicações reais, coisas que aprendi na prática e nenhum site me disse nem vi nos livros.
Esse '.trim()' retira os espaços de uma string, pois ESPAÇOS NÃO INTERESSAM EM UM NÚMERO!
Com o .trim() você deixa seu aplicativo mais robusto, à prova de bobagens dos usuários! E acredite, eles são bem criativos!


Transformando string em float

numFloat = Float.parseFloat(numeroString);


Transformando string em double

numDouble = Double.parseDouble(numeroString);

Exercício:

Propus e fiz um aplicativo que recebe os coeficientes de uma equação do segundo grau e retorna suas raízes, até as complexas, confira:
http://www.javaprogressivo.net/2012/08/aplicativo-determina-as-raizes-de-uma.html

Depois propus, nos exercícios de métodos, que fizesse o mesmo, mas quebrando ele em métodos, pra ficar reutilizável:
http://www.javaprogressivo.net/2012/09/questoes-envolvendo-metodos-java.html

Agora faça o mesmo. Um programa que receba os coeficientes de uma equação do segundo grau e retorne suas raízes, mesmo as complexas, mas através de caixas de diálogos.
Note que esse é realmente um programa útil.
Na próxima seção vamos ensinar como fazer seus aplicativos se tornarem 'executáveis' para que você possa mandar programas (gráficos, claro) para seus amigos!

Dicas e Novidades de Java por e-mail

Sabe quanto custa um bom livro de java?
Entre R$ 100,00 e R$300,00

Sabe quanto custa um bom curso presencial de Java?
Entre R$ 1.500,00 até R$ 4.000,00

Sabe quanto custa estudar pelo Java Progressivo?
Absolutamente nada.

Porém, também precisamos de sua ajuda e apoio.
Para isso, basta curtir nossa Fan Page e clicar no botão G+ do Google.