- A+

I am making this big program in C, which is a part of my homework. My problem is that my program is outputing `x = -0.00`

instead of `x = 0.00`

. I have tried comparing like `if(x==-0.00) x=fabs(x)`

but I've read that it won't work like that with doubles. So my question is are there any other ways to check if double is equal to negative zero?

Very few calculations actually give you a signed negative zero. What you're probably observing is a negative value close to zero that has been truncated by your formatting choice when outputting the value.

Note that `-0.0`

is defined to be equal to `0.0`

, so a simple comparison to `0.0`

is enough to verify a signed zero.

If you want to convert an exact signed zero `-0.0`

to `0.0`

then add `0.0`

to it.