Saltar al contenido

Cómo convertir cadenas a enteros en JAVA

Hay dos formas de convertir String a Integer en Java,

  1. Cadena a entero usando Integer.parseInt ()
  2. Cadena a entero usando Integer.valueOf ()

Digamos que tiene una cadena, strTest, que contiene un valor numérico.


String strTest = “100”;

Pruebe alguna operación aritmética como dividir por 4: esto le muestra un error de compilación inmediatamente.

class StrConvert{
  public static void main(String []args){
    String strTest = "100";
    System.out.println("Using String:" + (strTest/4));
  }
}

Producción:

/StrConvert.java:4: error: bad operand types for binary operator '/'
    System.out.println("Using String:" + (strTest/4));

Por lo tanto, debe convertir una cadena en un número entero antes de realizar operaciones numéricas en ella.

Ejemplo 1: convertir una cadena en un entero usando Integer.parseInt ()

La sintaxis del método parseInt es la siguiente:

int <IntVariableName> = Integer.parseInt(<StringVariableName>);

Pase la variable de cadena como argumento.

Esto convertirá Java String en java Integer y se almacenará en la variable entera especificada.

Verifique el fragmento de código a continuación:

class StrConvert{
  public static void main(String []args){
    String strTest = "100";
    int iTest = Integer.parseInt(strTest);
    System.out.println("Actual String:"+ strTest);
    System.out.println("Converted to Int:" + iTest);
    //This will now show some arithmetic operation
    System.out.println("Arithmetic Operation on Int: " + (iTest/4));
  }
}

Producción:

Actual String:100
Converted to Int:100
Arithmetic Operation on Int: 25

Ejemplo 2: convertir una cadena en un entero usando Integer.valueOf ()

El método Integer.valueOf () también se usa para convertir String en Integer en Java.

El siguiente es un ejemplo de código que muestra el proceso para usar el método Integer.valueOf ():


public class StrConvert{
  public static void main(String []args){
    String strTest = "100";
    //Convert the String to Integer using Integer.valueOf
    int iTest = Integer.valueOf(strTest);
    System.out.println("Actual String:"+ strTest);
    System.out.println("Converted to Int:" + iTest);
    //This will now show some arithmetic operation
    System.out.println("Arithmetic Operation on Int:" + (iTest/4));
  }
}

Producción:


Actual String:100
Converted to Int:100
Arithmetic Operation on Int:25

NumberFormatException

NumberFormatException se descarta si intenta analizar una cadena de número no válida. Por ejemplo, String ‘Guru99’ no se puede convertir a Integer.

Ejemplo:


public class StrConvert{
  public static void main(String []args){
    String strTest = "Guru99";
    int iTest = Integer.valueOf(strTest);
    System.out.println("Actual String:"+ strTest);
    System.out.println("Converted to Int:" + iTest);
  }
}

Un ejemplo anterior da la siguiente excepción en la salida:

Exception in thread "main" java.lang.NumberFormatException: For input string: "Guru99"