Maison >Java >javaDidacticiel >Pourquoi la division entière en Java conduit-elle à des résultats inattendus ?
Problèmes des divisions entières : comprendre les erreurs dans les opérations arithmétiques de Java
En Java, les divisions impliquant des valeurs entières peuvent entraîner des erreurs inattendues si le résultat souhaité implique des nombres décimaux. Pour comprendre ce problème, il est essentiel de saisir le concept de division entière.
La division entière diffère de la division en virgule flottante en ce sens qu'elle élimine la partie fractionnaire du résultat. Ce comportement peut conduire à des inexactitudes lors de la division de deux nombres entiers, comme dans l'exemple fourni :
float res = quantity / standard;
La division entre quantité et norme produira un résultat entier, en ignorant toutes les valeurs décimales. Même avec des calculs apparemment simples, comme 6800/500, vous vous retrouverez avec 13,0 au lieu du 13,6 attendu.
Pour rectifier cela, vous pouvez forcer le traitement du numérateur comme un flottant en utilisant la syntaxe suivante :
float res = (float) quantity / standard;
Cela oblige également le dénominateur à être converti en flottant, effectuant ainsi une division en virgule flottante. Alternativement, vous pouvez ajouter la lettre « f » au dénominateur :
float f = 6800f / 500;
Ce faisant, vous déclarez explicitement le dénominateur comme flottant, garantissant ainsi des résultats de division corrects.
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!