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;
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);
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!