Maison >Java >javaDidacticiel >Pourquoi la division entière en Java produit-elle des résultats inattendus ?
Division entière : comprendre le comportement inattendu
En Java, la division entière effectue une division entre deux valeurs entières, en supprimant la partie fractionnaire du résultat . Ce comportement peut conduire à des résultats inattendus, comme le démontre le code suivant :
int quantity = 6800; int standard = 500; float res = quantity / standard;
Résultat attendu : 13,6
Résultat réel : 13,0
Une explication de cet écart réside dans la division entière en cours d'exécution. La division entière tronque le résultat, entraînant la perte de la partie fractionnaire. Pour obtenir le résultat correct, nous devons forcer la division à être traitée comme une division à virgule flottante.
Ceci peut être réalisé en transformant explicitement le numérateur en flottant :
float res = (float) quantity / standard;
Alternativement , s'il s'agit de littéraux, nous pouvons ajouter le suffixe « f » au dénominateur pour indiquer un flottant :
float res = 6800f / 500;
En utilisant la division flottante, nous empêchons la division entière et préservons la partie fractionnaire du résultat. Cette approche donnera systématiquement le résultat attendu : 13.6.
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!