java下double相乘精度丟失問題


比如

System.out.println(0.14*100);

輸出: 14.000000000000002

 

解決方法:

BigDecimal b = new BigDecimal(String.valueOf(0.14));
        BigDecimal c = new BigDecimal(String.valueOf(100));
        System.out.println(b.multiply(c));
        System.out.println(b.multiply(c).intValue());
        System.out.println(b.multiply(c).doubleValue());

輸出: 

14.00
14
14.0


免責聲明!

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



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