Maison > Java > javaDidacticiel > Comment puis-je obtenir des résultats précis en virgule flottante lors de la division d'entiers en Java ?

Comment puis-je obtenir des résultats précis en virgule flottante lors de la division d'entiers en Java ?

Mary-Kate Olsen
Libérer: 2024-12-06 00:50:14
original
559 Les gens l'ont consulté

How Can I Get Accurate Floating-Point Results When Dividing Integers in Java?

Division d'entiers en Java

Lors de la division de deux entiers en Java, le résultat est un nombre à virgule flottante. En effet, l'opérateur de division (/) effectue une division entière, ce qui donne un quotient entier. Pour obtenir un résultat à virgule flottante, l'un ou les deux opérandes doivent être convertis en un type à virgule flottante, tel que float ou double.

Considérez l'exemple fourni :

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

Dans ce cas, totalOptCount et totalRespCount sont de type int. L'expression totalOptCount/totalRespCount est évaluée à l'entier 0, qui est ensuite converti en flottant et affecté à un pourcentage. Par conséquent, le pourcentage aura la valeur 0,0.

Pour corriger cela, l'un des opérandes doit être converti en un type à virgule flottante avant l'opération de division :

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

En convertissant totalOptCount en un flottant, l'opération de division renverra un résultat à virgule flottante et le pourcentage aura la valeur correcte.

Formatage du Résultat

Pour formater le résultat au format 00.00 souhaité et le convertir en chaîne, la méthode String.format peut être utilisée :

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

Le spécificateur de format %2.02f indique que le nombre doit être justifié à droite dans un champ de largeur 2 et doit avoir une précision de 2 décimales. Le résultat est affecté à la variable String str.

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