Maison > Java > javaDidacticiel > Dans quels scénarios NumberFormatException se produit-il en Java ?

Dans quels scénarios NumberFormatException se produit-il en Java ?

WBOY
Libérer: 2023-06-25 10:32:52
original
1103 Les gens l'ont consulté

Java est un langage de programmation orienté objet et est largement utilisé dans divers domaines de développement. Dans le code Java, NumberFormatException se produit parfois. Cet article abordera en détail les scénarios d'occurrence des exceptions NumberFormatException en Java.

NumberFormatException est une exception d'exécution en Java, qui indique que le format est incorrect lors de la conversion d'une chaîne en nombre et ne peut pas être converti en type de nombre correspondant. En Java, certaines méthodes nécessitent de convertir des chaînes en types numériques, telles que : parseInt(), parseDouble(), parseByte(), etc. Lorsqu'une chaîne ne respecte pas le format de conversion vers le type numérique correspondant, une NumberFormatException est levée.

Voici plusieurs situations dans lesquelles une NumberFormatException peut se produire :

  1. La chaîne est vide ou ne répond pas aux exigences

Lorsqu'une chaîne est vide ou que le format ne répond pas aux exigences du type numérique, par exemple : il contient des caractères non numériques ou s'il y a plusieurs points décimaux, etc., une NumberFormatException sera levée.

Par exemple, le code suivant lancera une exception NumberFormatException :

String str1 = "";
int num1 = Integer.parseInt(str1);  //抛出NumberFormatException异常
Copier après la connexion
  1. Le type numérique dépasse la plage

Lorsqu'une chaîne est convertie en type numérique et dépasse la plage du type, une exception NumberFormatException sera levée.

Par exemple, le code suivant lèvera une exception NumberFormatException :

String str2 = "2147483648";  //int范围是-2147483648 ~ 2147483647
int num2 = Integer.parseInt(str2);  //抛出NumberFormatException异常
Copier après la connexion
  1. Utilisation de la mauvaise base

Lorsqu'une chaîne est convertie en un type numérique selon la mauvaise base, une exception NumberFormatException sera levée.

Par exemple, le code suivant lancera une NumberFormatException :

String str3 = "A"; //按照十进制转换是有问题的
int num3 = Integer.parseInt(str3, 10); //抛出NumberFormatException异常
Copier après la connexion

Lors de la sélection de la base, elle doit correspondre à la chaîne d'origine. Par exemple, « A » représente dix en hexadécimal et ne peut pas être converti en décimal.

  1. Il y a des espaces dans la chaîne

Lorsqu'il y a des espaces dans une chaîne, une NumberFormatException sera levée lorsqu'elle est convertie en un type numérique.

Par exemple, le code suivant lancera une exception NumberFormatException :

String str4 = "12 34"; //两个数字中间有空格
int num4 = Integer.parseInt(str4); //抛出NumberFormatException异常
Copier après la connexion

Lors de la conversion du type de chaîne, vous devez supprimer la partie non numérique, sinon des résultats imprévisibles se produiront.

Résumé :

Dans le développement Java, les développeurs doivent gérer les exceptions NumberFormatException avec soin, sinon cela entraînera des résultats imprévisibles dans le fonctionnement du programme. Dans la situation ci-dessus, Java gère les exceptions NumberFormatException de la même manière que les autres exceptions d'exécution. Vous pouvez utiliser des blocs try...catch pour la gestion des exceptions afin de garantir la robustesse et l'efficacité du programme.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal