Maison  >  Article  >  Java  >  Pourquoi la division entière en Java conduit-elle à des résultats inattendus ?

Pourquoi la division entière en Java conduit-elle à des résultats inattendus ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-17 07:17:03235parcourir

Why Does Integer Division in Java Lead to Unexpected Results?

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!

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