Comment convertir une chaîne de caractères en un Int en Java

Mohammad Irfan 12 octobre 2023
  1. Convertir une Chaîne en une int en utilisant parseInt() en Java
  2. Conversion de String en int en utilisant Apache en Java
  3. Conversion de String en int en utilisant decode() en Java
  4. Convertir une chaîne en une int en utilisant valueOf() en Java
  5. Convertir une chaîne en une int en utilisant parseUnsignedInt() en Java
  6. Conversion d’une chaîne après suppression des caractères non numériques en utilisant la méthode replaceAll() en Java
Comment convertir une chaîne de caractères en un Int en Java

Ce tutoriel présente la manière de convertir une chaîne en une int en Java et donne quelques exemples de codes pour la comprendre.

Convertir une Chaîne en une int en utilisant parseInt() en Java

String et int sont tous deux des types de données en Java. La Chaîne est utilisée pour stocker des informations textuelles tandis que int est utilisé pour stocker des données numériques.

Ici, nous utilisons la méthode parseInt() de la classe Integer qui retourne un entier. Comme Java fait de l’auto-boxing implicite, nous pouvons le stocker dans le type primitif int. Voir l’exemple ci-dessous.

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

Production:

1234

Conversion de String en int en utilisant Apache en Java

Si vous travaillez avec la bibliothèque Apache, vous pouvez utiliser la méthode toInt() de la classe NumberUtils qui retourne une valeur int. Si la chaîne de caractères passée contient un caractère non numérique, cette méthode ne lance aucune exception, mais retourne 0. Il est plus sûr d’utiliser toInt() plutôt que parseInt() qui lance NumberFormatException. Voir l’exemple ci-dessous.

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);
  }
}

Production:

1234 0

Conversion de String en int en utilisant decode() en Java

Nous pouvons utiliser la méthode decode() de la classe Integer pour obtenir la valeur int d’une chaîne de caractères. Elle retourne la valeur de l’entier, mais si vous voulez obtenir une valeur d’int (primitive), utilisez alors la méthode intValue() avec la méthode decode(). Voir l’exemple ci-dessous.

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);
  }
}

Production:

1424

Convertir une chaîne en une int en utilisant valueOf() en Java

Nous pouvons utiliser la méthode valueOf() pour obtenir une valeur int d’une chaîne après conversion.

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 une chaîne en une int en utilisant parseUnsignedInt() en Java

Si nous voulons convertir une chaîne qui ne comporte pas de signe, utilisez la méthode parseUnsignedInt() pour obtenir la valeur int. Elle fonctionne bien avec une valeur de chaîne non signée et lance une exception si la valeur est signée.

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

Production:

1424

Conversion d’une chaîne après suppression des caractères non numériques en utilisant la méthode replaceAll() en Java

Si la chaîne de caractères contient des caractères non numériques, utilisez la méthode replaceAll() de la classe String avec regex pour supprimer tous les caractères non numériques et ensuite utilisez la méthode parseInt() de la classe Integer pour obtenir sa valeur entière équivalente. Voir l’exemple ci-dessous.

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);
  }
}

Production:

1424

Article connexe - Java String

Article connexe - Java Integer