浮点数因为存储形式的原因不能直接和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