I\'ve got a double that prints as 0.000000 and I\'m trying to compare it to 0.0f, unsuccessfully. Why is there a difference here? What
To determine whether it's close enough to zero that it will print as 0.000000 to six decimal places, something like:
fabs(d) < 0.0000005
Dealing with small inaccuracies in floating-point calculations can get quite complicated in general, though.
If you want a better idea what value you've got, try printing with %g instead of %f.