Why is modulus operator not working for double in c#?

前端 未结 6 1055
粉色の甜心
粉色の甜心 2020-11-30 10:21

Consider this:

double x,y;
x =120.0;
y = 0.05;

double z= x % y;

I tried this and expected the result to be 0, but it came out 0.04933333.<

6条回答
  •  無奈伤痛
    2020-11-30 11:02

    Modulus should only be used with integer. The remainder come from an euclidean division. With double, you can have unexpected results.

    See this article

提交回复
热议问题