Considérez ceci:Pourquoi l'opérateur de module ne fonctionne-t-il pas en double dans C#?
double x,y;
x =120.0;
y = 0.05;
double z= x % y;
J'ai essayé et attendu que le résultat soit 0, mais il est sorti 0,04933333.
Cependant,
x =120.0;
y = 0.5;
double z= x % y;
ne fait donné le résultat correct de 0.
Qu'est-ce qui se passe ici?
J'ai essayé Math.IEEERemainder(double, double)
mais il ne renvoie pas 0 non plus. Qu'est-ce qui se passe ici?
Aussi, en aparté, quelle est la manière la plus appropriée de trouver le reste en C#?
Il serait intéressant de savoir ce que vous essayez d'atteindre. Utiliser un module avec des nombres à virgule flottante n'est jamais une bonne idée car les réponses indiquent déjà. – VVS