【C++】 判断浮点型变量是否为0


浮点型判断是否0值,只能判断其绝对值在某个精度范围内进行判断,不能直接 == 0.0来进行。

正确做法:

先定义一个精度范围,当double小于该精度范围时判定double变量是否为0。可以使用fabs()求绝对值和float.h头文件中的DBL_EPSILON进行判断:
image

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";
    }

image

原创文章,作者:wdmbts,如若转载,请注明出处:https://blog.ytso.com/277048.html

(0)
上一篇 2022年7月26日
下一篇 2022年7月26日

相关推荐

发表回复

登录后才能评论