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

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

Mary-Kate Olsen
Libérer: 2025-01-05 18:24:40
original
765 Les gens l'ont consulté

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

Arrondissement des divisions en C#

Lors de l'exécution d'une division en C#, les programmeurs peuvent rencontrer un comportement d'arrondi inattendu. Ce problème survient lorsqu'une division entière est effectuée, entraînant la perte de parties fractionnaires.

Pour illustrer, considérons le code suivant :

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

Ce code affichera une boîte de message avec la valeur "66". Cependant, le résultat attendu pour 200/3 devrait être 66,66666...

Solution : utiliser la double division

Pour éviter cet arrondi vers le bas et maintenir la précision en virgule flottante, il faut utiliser une division double au lieu d'une division entière. Ceci peut être réalisé en :

  1. Convertir l'un des opérandes en double :
i = (double)200 / 3;
Copier après la connexion
  1. Utiliser un point décimal final dans un opérande :
i = 200.0 / 3;
Copier après la connexion
  1. Ajouter le suffixe d à un opérande :
i = 200d / 3;
Copier après la connexion

En utilisant la double division, l'opérateur de division / effectuera une division en virgule flottante, en conservant tous les chiffres significatifs.

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!

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