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