歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Java浮點數精確計算

Java浮點數精確計算

日期:2017/3/1 9:05:59   编辑:Linux編程

在使用Java語言編寫程序處理一些有關於金額或者精度很高的數據時,通常會使用到一個叫做 BigDecimal的類。

BigDecimal是一個封裝過的類用於計算一些對結果格式有要求的數值。

下面是一個例子:
public static void main(String[] args) {
double money1 = 2.0;
double price1 = 1.102;
System.out.println("非精確:"+(money1-price1));
BigDecimal money2 = new BigDecimal("2");
BigDecimal price2 = new BigDecimal(String.valueOf(price1));
System.out.println("精確:"+(money2.subtract(price2)));
System.out.println("加一下"+(money2.add(price2)));
System.out.println("乘一下"+(money2.multiply((price2))));
System.out.println("除一下"+(price2.divide(money2)));
}

實現的步驟時,首先需要將兩個進行計算的數字封裝成BigDecimal類型的數據,然後,通過調用BigDecimal類的add(BigDecimal)、subtract(BigDecimal)、multiply(BigDecimal)、divide(BigDecimal)方法進行相應的加減乘除。

注意:在進行創建BigDecimal對象時,構造方法中傳入的值需是字符串,即:

BigDecimal money = new BigDecimal("1.1");//正確

BigDecimal money1 = new BigDecimal(1.1);//錯誤

Copyright © Linux教程網 All Rights Reserved