【C++】 判断浮点型变量是否为0
作者:互联网
浮点型判断是否0值,只能判断其绝对值在某个精度范围内进行判断,不能直接 == 0.0来进行。
正确做法:
先定义一个精度范围,当double小于该精度范围时判定double变量是否为0。可以使用fabs()求绝对值和float.h头文件中的DBL_EPSILON进行判断:
DBL_EPSILON是最小误差。 是DBL_EPSILON+X不等于X的最小的正数
点击查看代码
double b = sin(M_PI / 6.0);
if (fabs(b - 0.5) < DBL_EPSILON) //可能正确也可能错误,和编译器有关
{
cout << "This is correct method";
}
if ((b - 0.5) == 0.0)
{
cout << "This is wrong method";
}
标签:判断,DBL,fabs,double,C++,浮点,EPSILON,精度,变量 来源: https://www.cnblogs.com/hawk97/p/16519357.html