Java String to int : les deux méthodes de conversion pratiques

Si vous souhaitez effectuer une conversion String to int en Java, deux options simples s’offrent à vous : parseInt() et valueOf(). Cependant, toutes deux ne fonctionnent que si la chaîne (string) ne contient que des nombres entiers et ne dépasse pas la plage de valeurs du type de données Integer.

Opérations String to int en Java

Les strings Java sont des chaînes qui peuvent contenir des caractères, des chiffres ou des caractères spéciaux. Des chiffres seuls sous forme de valeurs entières peuvent être stockés dans le langage de programmation en tant que nombre entier (int). Si vous utilisez une chaîne de caractères uniquement composée de nombres entiers, vous pouvez la convertir en primitive Java Integer. Il existe en langage Java au moins cinq façons pratiques de convertir int to String. Pour la conversion inverse, String to int, seules deux méthodes s’imposent : Integer parseInt() et Integer.valueOf(). Découvrons comment elles fonctionnent à l’aide d’exemples pratiques.

Note

Notez que cette conversion ne fonctionne que si la valeur est comprise dans la plage de valeurs entre -2147483648 et 2147483647. Le type de données Integer ne permet donc pas de représenter des nombres plus grands ou plus petits que ceux-ci.

Hébergement Web
Hébergement Web flexible, performant et sûr
  • Certificat SSL et protection DDoS
  • Sauvegarde et restauration des données
  • Assistance 24/7 et conseiller personnel

La méthode Integer.parseInt()

parseInt() est une méthode statique de la classe Integer. Elle peut renvoyer la valeur d’un type de données complexe string sous la forme d’un type de données primitif int. Sa syntaxe ressemble à ceci :

static int parseInt(String s)
java

Pour mieux comprendre son fonctionnement, étudions un exemple simple illustrant la méthode. Pour ce faire, initialisons d’abord une chaîne de caractères qui ne contient que la valeur entière « 7312 ». Ensuite, nous exécutons une opération Java String to int avec la méthode parseInt() et utilisons la commande java System.out.println pour afficher la valeur générée. Le code correspondant prend la forme suivante :

public class Main {
	public static void main(String args[]) {
		String str = "7312";
		int nombre = Integer.parseInt(str);
		System.out.println("La valeur à l’intérieur du string est : " + nombre);
	}
}
java

L’indication obtenue est :

La valeur à l’intérieur du string est : 7312
java

Par contre, cette méthode ne fonctionne que si la chaîne est uniquement composée de nombres entiers. Si ce n’est pas le cas et que vous appliquez tout de même la méthode parseInt() comme suit :

public class Main {
	public static void main(String args[]) {
		String str = "Le nombre recherché est 7312";
		int nombre = Integer.parseInt(str);
		System.out.println("La valeur à l’intérieur du string est : " + nombre);
	}
}
java

Vous obtiendrez le message d’erreur suivant :

Exception in thread "main" java.lang.NumberFormatException: For input string: "Le nombre recherché est 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

La méthode Integer.valueOf()

Integer.valueOf() est également une méthode de la classe Integer. Elle fournit l’interprétation décimale d’un objet String et convient donc aussi pour une conversion String to int. En Java, sa syntaxe prend la forme suivante :

static int valueOf(int a)
java

Pour illustrer son fonctionnement, voici un autre exemple simple :

public class Main {
	public static void main(String args[]) {
		String newString = "7312";
		int parNombre = Integer.valueOf(newString);
		System.out.println("La valeur à l’intérieur du string est : " + parNombre);
	}
}
java

Nous obtenons l’indication suivante :

La valeur à l’intérieur du string est : 7312
java

Le message d’erreur qui s’affiche si d’autres caractères sont placés à l’intérieur du string, est similaire à celui de l’exemple donné pour parseInt().

Cet article vous a-t-il été utile ?
Page top