C++中 如何判断一个浮点数是否为0

如题所述

第1个回答  2010-03-15
判断这个实数的绝对值是否小于一个很小的实数,
比如绝对值小于1e-6
第2个回答  2019-12-09
double
a;
if(a-0.0<1e-6)
return
true;
else
return
false;
原来和楼上说的一样。
第3个回答  推荐于2018-03-20
double a;
if(fabs(a)<1e-6)
return true;
else
return false;本回答被提问者和网友采纳
第4个回答  2010-03-15
float f=0.000
bool bl=f>-0.000001&&f<0.000001;
大概就是这样。
第5个回答  2018-05-16
float a;
if(a==0)
//...
题主所问,以上。
if(a<1e-6)根本就不是用来比较a是否等于0的,而是用来比较a是否约等于0。当a=1e-7时,条件依旧成立,此时a为0?
我不知道是谁把问题曲解成了这样,误导别人。1.0==1.0肯定是真的,这个东西的用处在于比如循环a从0开始加0.1255,何时a==1?因为a在相加过程中不会严格意义上等于1,所以需要一个误差范围,在这个范围内时认为a约等于1。
相似回答