歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

Java浮點數精確計算

在使用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