浮點數因為存儲形式的原因不能直接和0值比較,當要判斷一個浮點數是否等於0時:
fabs(x)<=1e-6 就是認為是0了
float,double分別遵循R32-24,R64-53的標准。
所以float的精度誤差在1e-6;double精度誤差在1e-15
所以要判斷一個單精度浮點數:則是if( abs(f) <= 1e-6);
要判斷一個雙精度浮點數:則是if( abs(f) <= 1e-15 );
本文鏈接:https://blog.csdn.net/Wchenchen0/article/details/81357007