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 ?
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!