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());
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 :
i = (double)200 / 3;
i = 200.0 / 3;
i = 200d / 3;
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!