Avatar ·

Comment vérifier si une chaîne est un nombre en Java ?

Bonjour à tous ! Je suis un développeur Java débutant et j'ai rencontré un problème : je dois vérifier si une chaîne contient uniquement des chiffres ou peut être convertie en nombre. Par exemple, j'ai une saisie utilisateur et je veux m'assurer qu'il s'agit bien d'un nombre avant d'effectuer des opérations mathématiques. Voici ce que j'ai essayé :
String input = "123";
if (input.matches("\\d+")) {
    int number = Integer.parseInt(input);
    System.out.println("C'est un nombre : " + number);
}
Mais cela ne fonctionne que pour les entiers positifs. Que faire avec les nombres négatifs, les nombres à virgule flottante (par exemple, "3.14") ou les nombres en notation scientifique (par exemple, "1.5e10") ? J'ai également remarqué que la méthode `Integer.parseInt()` lève une `NumberFormatException` si la chaîne n'est pas un entier valide. Comment gérer correctement tous ces cas ? J'ai besoin d'une solution fiable qui fonctionne pour : - Les entiers (positifs et négatifs) - Les nombres à virgule