本文目錄一覽:
- 1、關於JAVA double類型相減的問題
- 2、java double類型變量,相加或相減後面小數為什麼會不一樣呢?
- 3、Java的double類型數據加減結果不正確 13.123—12.000=1.1229999999
關於JAVA double類型相減的問題
可以相減 你的寫法有錯
輸出函數的原型是print(String) 也就是括號裡面的是String類型
多個string連接的時候用就 ” + ” 連接 你這裡出現了 ” – ” 號 這是不允許的(double類型默認會調用toString()將數據轉換成string)
當你用:System.out.println(“兩個數的差是:”+a3-a4);減號被認為是錯誤的…
正確的寫法應該是:System.out.println(“兩個數的差是:”+(a3-a4));
至於你說 加 可以 只怕結果不是你想要的吧
乘除是因為運算符的優先級問題可以
建議你去看一些相關的基礎吧
java double類型變量,相加或相減後面小數為什麼會不一樣呢?
該問題主要原因是浮點數值採用二進制系統表示,而在二進制系統中無法精確的表示1/10。就像我們平時使用的十進制中無法精確的表示1/3是一樣的道理,如果需要在數值計算中不含有任何誤差,要使用BigDecimal類進行編程。
具體的代碼如下
//兩個Double數值相加
public static Double add (Double value01,Double value02){
BigDecimal b1=new BigDecimal(value01.toString());
BigDecimal b2=new BigDecimal(value02.toString());
return b1.add(b2).doubleValue();
}
//兩個Double數值相減
public static Double sub (Double value01,Double value02){
BigDecimal b1=new BigDecimal(value01.toString());
BigDecimal b2=new BigDecimal(value02.toString());
return b1.subtract(b2).doubleValue();
}
Java的double類型數據加減結果不正確 13.123—12.000=1.1229999999
計算機的2進制對於有些浮點數是無法精確表示的,你可以用 BigDecimal解決高精度計算
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/183631.html