在計算機內表示小數(比如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;
}
}