由於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