java中解決小數精度問題


public class TestDouble {
    public static void main(String[] args) {
        Double d1 = 0.1;
        Double d2 = 0.2;
        //false
        System.out.println(0.3 == (d1 + d2));
        //借助BigDecimal;通過字符串構造器創建對象
        BigDecimal bd1 = new BigDecimal(d1+"");
        BigDecimal bd2 = new BigDecimal(d2+"");
        BigDecimal add = bd1.add(bd2);
        double result = add.doubleValue();
        //true
        System.out.println(result == 0.3);
    }
}

 


免責聲明!

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



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