遇到了一個問題,兩個double相乘,結果不正確,好長,很奇怪
參考了BigDecimal類的加減乘除(解決double計算精度問題)和Java double 相乘的小問題記錄
終於解決了問題,下面提供一下代碼
1 public static void main(String[] args){ 2 BigDecimal a1 = new BigDecimal(454.585); 3 BigDecimal aa = new BigDecimal(0.05); 4 Double dd=a1.multiply(aa).doubleValue(); 5 System.out.println( dd); 6 }
如果結果還是很長,不正確的話,把
BigDecimal aa = new BigDecimal(0.05); 改成
BigDecimal aa = new BigDecimal(Double.toString(0.05));
作為一個Java初學者,小小記錄一下,希望能夠幫到你呀~