当前位置:   article > 正文

C++判断两个double数相等不能用==_double可以用==判断两个数相等吗

double可以用==判断两个数相等吗

  浮点数在内存中的存储有舍入误差,在计算机中用近似表示某个实数。比如,

double val1 = 4.0;
double val2 = 0.1;
double a = val1 - val2;
  • 1
  • 2
  • 3

你认为a应该等于3.9,实际在计算机中它却是3.899999999999999999999。

  所以不能用==来判断两个double是否相等,而是,

const double eps = 1e-8;

if(abs(a-b) <= eps)  相等
else 不相等
  • 1
  • 2
  • 3
  • 4
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/518786
推荐阅读
相关标签
  

闽ICP备14008679号