Como converter uma string para número em Java?

A conversão de uma string para número em Java pode ser feita com parseInt(), parseDouble() e outras técnicas para evitar erros de formato.

Como converter uma string para número em Java?

Muitas vezes, precisamos converter valores em formato de texto para números em Java, especialmente ao lidar com entradas do usuário ou dados recebidos de APIs. Existem diferentes métodos para essa conversão, dependendo do tipo de número desejado.

1. Convertendo para Inteiro com Integer.parseInt()

O método Integer.parseInt() é utilizado para converter uma string em um número inteiro.

public class TesteParseInt {
    public static void main(String[] args) {
        String numeroTexto = "42";
        int numero = Integer.parseInt(numeroTexto);
        System.out.println("Número inteiro: " + numero);
    }
}

Saída esperada:

Número inteiro: 42

Atenção: Se a string contiver caracteres não numéricos (ex: "42a"), ocorrerá uma NumberFormatException.

2. Convertendo para Decimal com Double.parseDouble()

Se o número contiver casas decimais, utilizamos Double.parseDouble().

public class TesteParseDouble {
    public static void main(String[] args) {
        String numeroTexto = "3.14";
        double numero = Double.parseDouble(numeroTexto);
        System.out.println("Número decimal: " + numero);
    }
}

Saída esperada:

Número decimal: 3.14

3. Usando Integer.valueOf() e Double.valueOf()

Além de parseInt() e parseDouble(), podemos usar valueOf(), que retorna um objeto Integer ou Double em vez de um valor primitivo.

Integer numeroInt = Integer.valueOf("100");
Double numeroDouble = Double.valueOf("2.5");

4. Lidando com Erros na Conversão

Para evitar erros ao converter strings inválidas, utilizamos try-catch.

public class TesteConversaoSegura {
    public static void main(String[] args) {
        String entrada = "ABC";
        try {
            int numero = Integer.parseInt(entrada);
            System.out.println("Número convertido: " + numero);
        } catch (NumberFormatException e) {
            System.out.println("Erro: A string não é um número válido.");
        }
    }
}

5. Convertendo de Forma Flexível com BigDecimal

Para cálculos financeiros, recomenda-se BigDecimal, pois evita problemas de precisão.

import java.math.BigDecimal;

public class TesteBigDecimal {
    public static void main(String[] args) {
        String valor = "1234.56";
        BigDecimal numero = new BigDecimal(valor);
        System.out.println("Número BigDecimal: " + numero);
    }
}

6. Quando Usar Cada Método?

Método Tipo de Número Retorno
Integer.parseInt() Inteiros int
Double.parseDouble() Decimais double
Integer.valueOf() Inteiros Integer (Objeto)
Double.valueOf() Decimais Double (Objeto)
BigDecimal Valores financeiros BigDecimal

Conclusão

Converter strings para números em Java é uma tarefa essencial para manipulação de dados. O uso adequado de parseInt(), parseDouble() e BigDecimal garante precisão e segurança ao processar entradas numéricas em aplicações Java.

A conversão de strings para números é essencial em qualquer aplicação que processe entradas do usuário ou dados de arquivos e bancos de dados. Frameworks como Spring Boot lidam com isso constantemente ao receber dados de formulários e APIs. Além disso, sistemas financeiros dependem de conversões precisas, tornando BigDecimal uma opção comum para cálculos monetários. Evitar erros de conversão melhora a confiabilidade do software e evita falhas inesperadas.

Algumas aplicações:

  • Processamento de entradas do usuário em formulários
  • Leitura de arquivos contendo dados numéricos
  • Conversão de valores recebidos via API
  • Cálculos financeiros utilizando BigDecimal

Dicas para quem está começando

  • Use parseInt() para inteiros e parseDouble() para decimais
  • Utilize try-catch para evitar erros ao converter strings inválidas
  • Prefira BigDecimal para valores financeiros
  • Teste suas conversões antes de utilizá-las em operações matemáticas
  • Evite converter strings vazias ou nulas para evitar exceções

Contribuições de Rodrigo Farias

Compartilhe este tutorial: Como converter uma string para número em Java

Compartilhe este tutorial

Continue aprendendo:

Como transformar uma string em um array de caracteres

A conversão de uma string para um array de caracteres em Java pode ser feita com toCharArray(), split() e técnicas de manipulação de texto para facilitar o processamento.

Tutorial anterior

Como remover espaços em branco de uma string em Java

A remoção de espaços em branco de uma string em Java pode ser feita com trim(), replaceAll(), strip() e outras abordagens para manipulação eficiente de texto.

Próximo tutorial