不可將浮點變量用「==」或「!=」與任何數字比較。.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數字