比較兩個double數是否相等(C++/Java適用)

問題分析:

計算機判斷兩個數相等,將判斷所有的二進制位是否相等,當所有的位都相等時,兩個數才相等,絕對的相等。這種相等是我們常見的 == ;

解決方法:

程序中有時沒有絕對相等的概念,在我們的程序中:對小數來說,保留小數點後幾位就足夠了,因此兩個小數的差在可接受的精度範圍內就可以被認爲是相等的。所以double數判斷是否相等,使用 == 是不嚴謹的;對於銀行金融行業java建議使用bigdecimal

#qt5寫法
public bool equal(double a, double b) {
        if (fab(a- b)< 0.000001)
            return true;
        else
            return false;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章