天天看點

double精度丢失問題解決方案

使用double定義的數在這裡插入圖檔描述據,可能會出現精度丢失問題。

如:

public static void main(String[] args) {
        double d1 = 2.2;
        double d2 = 30.03;
        double d = d1+d2;
        System.out.println(d);
    }
           

結果輸出為:32.230000000000004

解決方法:使用BigDecimal代替double;

double精度丢失問題解決方案

注意:BigDecimal不允許使用double參數的構造方法!

BigDecimal常用的方法

加:.add()

減:.subtract()

乘:.multiply()

除:.divide()