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 formaté ?

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

Barbara Streisand
Libérer: 2024-12-01 04:11:08
original
462 Les gens l'ont consulté

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

Division d'entiers en Java : comprendre le résultat 0.0 et le formatage des chaînes

En Java, la division de deux entiers donne toujours une valeur entière . Par conséquent, si deux entiers, tels que les variables totalOptCount et totalRespCount, sont divisés, le résultat sera un nombre entier. Cela explique pourquoi l'expression (float)(totalOptCount/totalRespCount); renvoie systématiquement 0,0.

Correction de l'expression pour le résultat à virgule flottante

Pour obtenir un résultat à virgule flottante pour la division, vous devez explicitement convertir au moins un opérande en un type à virgule flottante avant l'opération de division. Ceci peut être réalisé en utilisant l'expression suivante :

float percentage = ((float) totalOptCount) / totalRespCount;
Copier après la connexion

En convertissant le dividende (c'est-à-dire totalOptCount) en un type à virgule flottante, l'opération de division est effectuée en arithmétique à virgule flottante, ce qui donne un résultat à virgule flottante. valeur en points (par exemple, 0,33).

Formatage de la valeur à virgule flottante en un String

Pour formater le pourcentage de la valeur à virgule flottante au format "00.00" et le convertir en chaîne, vous pouvez utiliser la méthode String.format() :

String str = String.format("%2.02f", percentage);
Copier après la connexion

Dans cette chaîne de format, %2.02f indique que la chaîne doit être formatée comme un nombre à virgule flottante avec une largeur de champ minimale de deux caractères et une précision de deux décimales. lieux.

En suivant ces corrections, vous pouvez vous assurer que l'opération de division produit le résultat à virgule flottante souhaité, qui peut ensuite être converti en une chaîne formatée à des fins d'affichage ou à d'autres fins.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal