Considera:¿Por qué el operador de módulo no funciona para el doble en C#?
double x,y;
x =120.0;
y = 0.05;
double z= x % y;
Probé esto y esperaba que el resultado sea 0, pero salió 0,04933333.
Sin embargo,
x =120.0;
y = 0.5;
double z= x % y;
, efectivamente, dio el resultado correcto de 0.
¿Qué está pasando aquí?
Intenté Math.IEEERemainder(double, double)
pero tampoco devuelve 0. ¿Que esta pasando aqui?
Además, aparte, ¿cuál es la forma más adecuada de encontrar el resto en C#?
Sería interesante saber lo que está tratando de lograr. El uso de módulos con números de punto flotante nunca es una buena idea ya que las respuestas ya lo indican. – VVS