Maison >Java >javaDidacticiel >Pourquoi la division entière en Java renvoie-t-elle 0.0 et comment puis-je obtenir un résultat en virgule flottante ?

Pourquoi la division entière en Java renvoie-t-elle 0.0 et comment puis-je obtenir un résultat en virgule flottante ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-08 21:07:10594parcourir

Why Does Integer Division in Java Return 0.0 and How Can I Get a Floating-Point Result?

Division d'entiers en Java : pourquoi elle renvoie 0,0

Lors de l'exécution d'une division entre deux entiers en Java, comme dans l'exemple fourni où totalOptCount et totalRespCount sont tous deux des nombres entiers, le résultat est automatiquement converti en nombre entier. Cela signifie que toute partie fractionnaire de la division est écartée. Par conséquent, la variable de pourcentage, qui est déclarée comme flottant mais initialisée avec le résultat de la division, sera toujours 0,0.

Comment obtenir un résultat en virgule flottante

Pour obtenir un résultat à virgule flottante, au moins un des opérandes de la division doit être converti en type à virgule flottante. Dans votre cas, vous pouvez convertir totalOptCount en flottant comme suit :

float percentage = ((float) totalOptCount) / totalRespCount;

Cela garantira que la division est effectuée en arithmétique à virgule flottante et que la partie fractionnaire est conservée dans le résultat.

Formatage du pourcentage

Pour formater la variable de pourcentage au format "00.00" et pour le convertir en chaîne, vous pouvez utiliser la méthode String.format :

String str = String.format("%2.02f", percentage);

L'espace réservé %2.02f spécifie que la valeur à virgule flottante doit être formatée avec une largeur de champ de 2 caractères et une précision de 2 décimales. Cela entraînera une chaîne avec le pourcentage formaté comme "00.00".

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