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

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

WBOY
WBOYoriginal
2023-06-25 10:32:521067parcourir

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异常
  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异常
  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异常

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异常

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!

Déclaration:
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