En Java, un faux pas courant se produit lors de la tentative d'opérations de division simples. Un scénario comme celui-ci, dans lequel un calcul basé sur un nombre entier échoue de manière inattendue, peut être attribué à la nature de la division entière.
Lorsque des nombres entiers sont divisés, le résultat est un entier, tronquant toute partie fractionnaire. Cette limitation peut être observée dans le code Java suivant :
float res = quantity / standard;
Bien que la variable res soit déclarée comme float, la division de deux entiers donne un résultat entier. Cet écart peut entraîner des erreurs de précision inattendues.
Pour remédier à ce problème, envisagez de convertir explicitement le numérateur en flottant avant la division :
float res = (float) quantity / standard;
En forçant le numérateur à être traité comme un float, le dénominateur est également promu à float. Cela garantit qu'une division basée sur des flottants est effectuée, en préservant la partie fractionnaire du résultat en res.
Alternativement, si vous avez affaire à des littéraux, vous pouvez ajouter le suffixe "f" au dénominateur :
float f = 6800f / 500;
Cette modification atteint le même objectif que la conversion explicite, convertissant le dénominateur en float pour garantir l'exécution d'une opération de division basée sur float.
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!