Maison > développement back-end > C++ > Comment C# gère-t-il les résultats fractionnaires dans la division et comment puis-je éviter l'arrondi des nombres entiers ?

Comment C# gère-t-il les résultats fractionnaires dans la division et comment puis-je éviter l'arrondi des nombres entiers ?

Susan Sarandon
Libérer: 2025-01-05 19:56:46
original
666 Les gens l'ont consulté

How Does C# Handle Fractional Results in Division, and How Can I Avoid Integer Rounding?

Comprendre l'arrondi dans la division C#

Lors de l'exécution d'une division en C#, les résultats fractionnaires sont souvent arrondis à l'entier le plus proche. Cela peut être inattendu, en particulier lorsque vous travaillez avec des nombres à virgule flottante.

L'exemple

Considérez l'extrait de code suivant :

double i;
i = 200 / 3;
Messagebox.Show(i.ToString());
Copier après la connexion

Ici , i reçoit la valeur de 200 divisé par 3, soit 66,6666667. Cependant, lorsqu'il est affiché à l'aide de Messagebox.Show, il affiche « 66 ». En effet, C# effectue une division entière par défaut, en arrondissant au nombre entier le plus proche.

Éviter d'arrondir vers le bas

Pour conserver une précision fractionnaire, vous pouvez utiliser l'un des approches suivantes :

  • Cast explicite pour doubler : Cast l'un des opérandes pour un double pour forcer une division en double précision. Par exemple :
i = (double)200 / 3;
Copier après la connexion
  • Utiliser des constantes à virgule flottante : Déclarez l'un des opérandes comme constante à virgule flottante en utilisant le suffixe .0 ou d. Cela permet également une division en double précision. Par exemple :
i = 200.0 / 3;
Copier après la connexion
  • Utilisez le suffixe « d » : Ajoutez le suffixe d à la constante entière pour indiquer une division en double précision. Par exemple :
i = 200d / 3;
Copier après la connexion

En utilisant ces méthodes, vous pouvez vous assurer que les calculs de division renvoient des résultats fractionnaires sans arrondir à l'inférieur.

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