不可将浮点变量用“==”或“!=”与任何数字比较。
千万要留意,无论是float还是double类型的变量,都有精度限制。所以一定要避免将浮点变量用“==”或“!=”与数字比较,应该设法转化成“>=”或“<=”形式。
假设浮点变量的名字为x,应当将 if (x == 0.0) 转化为 if ((x>=-EPSINON) && (x<=EPSINON))
或者 if ( fabs(x) <=EPSINON) // fabs(x)取x的绝对值
其中EPSINON是允许的误差(即精度)。
参考:http://blog.csdn.net/azhang00000/article/details/5357134