Maison >développement back-end >C++ >Pourquoi la division entière C# est-elle arrondie à l'inférieur et comment puis-je l'éviter ?
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());
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 :
i = (double)200 / 3;
i = 200.0 / 3;
i = 200d / 3;
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!