float如何与0比较大小

无论是float还是double型数据,由于他们在内存的中存储的机制和int型不同,有舍入误差,所以在计算机中,大多数的浮点型都是无法具体的精确表达的。
所以很难用A==B来判断俩个浮点数是不是相等。
当然也不用!=来比较,一般我们都设法准换成>=或者<=某个数来判断的


正确的判断float数与0值是否相等:
const float EPSINON = 0.000001;
if( x >=  -EPSINON  && x <= EPSINON)
{
     cout<<"x等于0";
}
还要注意的是,对于逻辑运算,需要写成&&的形式,不可写成  - EPSINON<= x <=EPSINON;

错误的写法:
if(x == 0.0)
{
   cout<<"x等于0";
}

猜你喜欢

转载自blog.csdn.net/KingOfMyHeart/article/details/88893420
今日推荐