Si quieres hacer una co­n­ve­r­sión en Java con String to int, tienes dos opciones sencillas: parseInt() y valueOf(). Estos métodos, sin embargo, solo funcionan si el string contiene úni­ca­me­n­te números enteros y no supera el rango de valores del tipo de datos Integer.

Ope­ra­cio­nes String to int en Java

Los strings de Java son cadenas que contienen letras, cifras o ca­ra­c­te­res es­pe­cia­les. En este lenguaje de pro­gra­ma­ción las cifras en forma de valores enteros pueden al­ma­ce­nar­se como Integer (int). Si estás usando un string que solo consta de números enteros, puedes co­n­ve­r­ti­r­lo en el tipo de datos pri­mi­ti­vos de Java Integer. Mientras que hay al menos cinco maneras distintas de convertir int en string en Java, para el proceso inverso, la co­n­ve­r­sión de string a int en java puede hacerse pri­n­ci­pa­l­me­n­te con dos métodos: Integer parseInt() y Integer.valueOf(). Te ex­pli­ca­mos cómo funcionan con algunos ejemplos.

Nota

Ten en cuenta que la co­n­ve­r­sión solo funciona si el valor numérico está entre -2147483648 y 2147483647. Las cifras mayores o menores no pueden pro­ye­c­tar­se con el tipo de datos Integer.

Hosting
Hosting de primera al mejor precio
  • 3x más rápido, ahora un 60 % de ahorro
  • Alta di­s­po­ni­bi­li­dad >99.99 %
  • Solo en IONOS: hasta 500 GB incluidos

Método Integer.parseInt()

parseInt() es un método estático que pertenece a la clase Integer y puede devolver el valor numérico de un string de tipo de datos completo en forma de un tipo de datos primitivo int. Su sintaxis es la siguiente:

static int parseInt(String s)
java

Para entender cómo funciona, lo mejor es ver el método en acción con un ejemplo. En este caso, primero se inicia un string que solo contiene el valor entero “7312”. Luego se ejecuta la operación de Java string to int con el método parseInt() y se utiliza el comando de Java System.out.println para extraer el valor. El código es el siguiente:

public class Main {
	public static void main(String args[]) {
		String str = "7312";
		int número = Integer.parseInt(str);
		System.out.println("El valor numérico que contiene el string es: " + número);
	}
}
java

Lo que sale es:

El valor numérico que contiene el string es: 7312
java

Sin embargo, esto solo funciona si el string úni­ca­me­n­te consta de números enteros. Si no es el caso y se ejecuta el método parseInt(), ocurre lo siguiente:

public class Main {
	public static void main(String args[]) {
		String str = "El número que se busca es 7312";
		int nummer = Integer.parseInt(str);
		System.out.println("El valor numérico que contiene el string es: " + número);
	}
}
java

… recibirás este aviso de error:

Exception in thread "main" java.lang.NumberFormatException: For input string: "El número que se busca es 7312"
at java.base/java.lang.NumberFormatException.forInputString(NumberFormatException.java:67)
at java.base/java.lang.Integer.parseInt(Integer.java:661)
at java.base/java.lang.Integer.parseInt(Integer.java:777)
at Main.main(Main.java:4)
java

Método Integer.valueOf()

Integer.valueOf() es otro método de la clase Integer. Produce la in­te­r­pre­ta­ción decimal de un objeto string y por tanto también sirve para convertir string to int en Java. La sintaxis es la siguiente:

static int valueOf(int a)
java

Para ver cómo funciona, echa un vistazo a este sencillo ejemplo:

public class Main {
	public static void main(String args[]) {
		String newString = "7312";
		int parNummer = Integer.valueOf(newString);
		System.out.println("El valor numérico que contiene el string es: " + parNummer);
	}
}
java

Vuelve a devolver lo siguiente:

El valor que contiene el string es: 7312
java

El aviso de error que aparece si se almacenan otros ca­ra­c­te­res dentro del string es el mismo que en el del ejemplo de parseInt().

Ir al menú principal