double compare 0

由於double類型或float類型都是有精度的,其實都是取的近似值,因此有個偏差。和一個很小的數好比0.00000001(1e-8)比較就是爲了在這個偏差範圍內進行比較。
舉個例子如double b = 0.123456多是0.1234561的四捨五入後獲得的結果。最後的0.0000001就表示偏差範圍了。

doubel a;
if ( a>-0.0000001 && a< 0.000001 )對。
而 if( a == 0 )不對!float

相關文章
相關標籤/搜索