在计算机内表示小数(比如float和double型小数)都有误差,不能直接用 == 判断两个小数是否相等。判断两个小数是否相等,只能判断他们之间的差值是不是在一个很小的范围,比如[-0.0000001, 0.0000001]之间,这样就可以认为他们相等。
bool is_equal(double x1, double x2){
if((x1-x2>-0.0000001) && (x1-x2<0.0000001)){
return true;
}else{
return false;
}
}