Maison > développement back-end > C++ > Pourquoi la division entière C# est-elle arrondie à l'inférieur et comment puis-je l'empêcher ?

Pourquoi la division entière C# est-elle arrondie à l'inférieur et comment puis-je l'empêcher ?

Linda Hamilton
Libérer: 2025-01-05 17:31:40
original
640 Les gens l'ont consulté

Why Does C# Integer Division Round Down, and How Can I Prevent It?

Arrondissement automatique des divisions C# : comprendre et éviter cela

Lorsque vous effectuez une division en C#, vous pouvez rencontrer un arrondi inattendu des résultats. Ce comportement découle de la nature de la division entière, qui tronque le résultat au nombre entier le plus proche.

Pour illustrer cela, considérons l'exemple suivant :

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

Ce code affiche une boîte de message avec la valeur « 66 », indiquant que 200 / 3 a été arrondi à 66. Cependant, la valeur réelle de 200 / 3 est d'environ 66.6666667.

Pour éviter cet arrondi vers le bas, il faut explicitement convertir les opérandes en nombres à virgule flottante double précision avant d'effectuer la division. Ceci peut être réalisé de plusieurs manières :

  1. Convertir la constante :
i = (double)200 / 3;
Copier après la connexion
  1. Utiliser une valeur décimale littéral :
i = 200.0 / 3;
Copier après la connexion
  1. Ajout du suffixe 'd' à la constante :
i = 200d / 3;
Copier après la connexion

L'un des ces approches garantiront qu'une double division est effectuée, en préservant la partie décimale du résultat. Par conséquent, il est important de comprendre les implications de l'utilisation de la division entière et d'utiliser des techniques de conversion appropriées lorsque des fractions sont impliquées.

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