Cómo convertir una cadena en un Int en Java

Mohammad Irfan 12 octubre 2023
  1. Convierte una String en una int usando parseInt() en Java
  2. Convertir String en una int usando Apache en Java
  3. Convierte String en una int usando decode() en Java
  4. Convierte String en una int usando valueOf() en Java
  5. Convertir String en una int usando parseUnsignedInt() en Java
  6. Convertir String después de eliminar los caracteres no numéricos usando replaceAll() en Java
Cómo convertir una cadena en un Int en Java

Este tutorial introduce cómo convertir una cadena en una int en Java y enumera algunos códigos de ejemplo para entenderlo.

Convierte una String en una int usando parseInt() en Java

Tanto la String como la int son tipos de datos en Java. La String se usa para almacenar información textual mientras que la int se usa para almacenar datos numéricos.

Aquí, usamos el método parseInt() de la clase Integer que devuelve un entero. Ya que Java hace auto-boxeo implícito, entonces podemos almacenarlo en el tipo primitivo int. Vea el ejemplo a continuación.

public class SimpleTesting {
  public static void main(String[] args) {
    String str = "1234";
    int int_val = Integer.parseInt(str);
    System.out.println(int_val);
  }
}

Resultado:

1234

Convertir String en una int usando Apache en Java

Si trabajas con la librería Apache, puedes usar el método toInt() de la clase NumberUtils que devuelve un valor int. Si la cadena pasada contiene algún carácter no numérico, este método no lanza ninguna excepción, pero devuelve 0. Es seguro usar toInt() en lugar de parseInt() que lanza NumberFormatException. Mira el ejemplo de abajo.

import org.apache.commons.lang3.math.NumberUtils;

public class SimpleTesting {
  public static void main(String[] args) {
    String str = "1234";
    int int_val = NumberUtils.toInt(str);
    System.out.println(int_val);
    str = "1234x"; // non-numeric string
    int_val = NumberUtils.toInt(str);
    System.out.println(int_val);
  }
}

Resultado:

1234 0

Convierte String en una int usando decode() en Java

Podemos usar el método decode() de la clase Integer para obtener el valor int de una cadena. Devuelve el valor “Entero”, pero si quieres obtener el valor int (primitivo) entonces usa intValue() con el método decode(). Mira el ejemplo de abajo.

public class SimpleTesting {
  public static void main(String[] args) {
    String str = "1424";
    int int_val = Integer.decode(str);
    System.out.println(int_val);
    // int primitive
    int_val = Integer.decode(str).intValue();
    System.out.println(int_val);
  }
}

Resultado:

1424

Convierte String en una int usando valueOf() en Java

Podemos usar el método valueOf() para obtener un valor int de una cadena después de la conversión.

public class SimpleTesting {
  public static void main(String[] args) {
    String str = "1424";
    int int_val = Integer.valueOf(str);
    System.out.println(int_val);
  }
}
1424 1424

Convertir String en una int usando parseUnsignedInt() en Java

Si queremos convertir una cadena que no incluye un signo, usa el método parseUnsignedInt() para obtener el valor int. Funciona bien con el valor de la cadena sin signo y lanza una excepción si el valor tiene signo.

public class SimpleTesting {
  public static void main(String[] args) {
    String str = "1424";
    int int_val = Integer.parseUnsignedInt(str);
    System.out.println(int_val);
  }
}

Resultado:

1424

Convertir String después de eliminar los caracteres no numéricos usando replaceAll() en Java

Si la cadena contiene caracteres no numéricos, usa el método replaceAll() de la clase String con regex para eliminar todos los caracteres no numéricos y luego usa el método parseInt() de la clase Integer para obtener su valor entero equivalente. Véase el ejemplo siguiente.

public class SimpleTesting {
  public static void main(String[] args) {
    String str = "1424x";
    str = str.replaceAll("[^\\d]", "");
    int int_val = Integer.parseInt(str);
    System.out.println(int_val);
  }
}

Resultado:

1424

Artículo relacionado - Java String

Artículo relacionado - Java Integer