java中小數的加減乘除


單價 * 數量 * 折扣=應收金額 或者正常的加減,會突然出現很多個小數

public static void main(String[] args) {
        double kk = 3.14;
        kk += 0.37;
        float ff = 3.14f;
        ff += 0.37f;
        System.out.println("double kk =" + kk);
        System.out.println("float ff =" + ff);
    }
輸出結果:
double kk =3.5100000000000002 float ff =3.5100002

小數加減乘除建議用BigDecimal;

public static void main(String[] args) {
        //小數加減乘除用BigDecimal
        BigDecimal b1 = new BigDecimal("3.14");
        BigDecimal b2 = new BigDecimal("0.37");
        BigDecimal b3 = b1.add(b2);//
        BigDecimal b4 = b1.subtract(b2);//
        BigDecimal b5 = b1.multiply(b2);
        System.out.println("3.14 + 0.37 = " + b3);
        System.out.println("3.14 - 0.37 = " + b4);
        System.out.println("3.14 * 0.37 = " + b5);
    }
輸出:
3.14 + 0.37 = 3.51
3.14 - 0.37 = 2.77
3.14 * 0.37 = 1.1618

JDK中BigDecimal類方法說明:https://www.yiibai.com/java/math/java_math_bigdecimal.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM