在Java中使用BigDecimal值


java.math.BigDecimal 類提供用於算術運算、比例運算、舍入、比較、雜湊和格式轉換的操作。

提供兩種型別的操作來操作BigDecimal的比例:

  • 縮放/舍入操作
  • 小數點移動操作

以下是BigDecimal值的一些建構函式:

序號建構函式及描述
1BigDecimal(BigInteger val)
此建構函式用於將BigInteger轉換為BigDecimal。
2BigDecimal(BigInteger unscaledVal, int scale)
此建構函式用於將BigInteger無比例值和int比例轉換為BigDecimal。
3BigDecimal(BigInteger unscaledVal, int scale, MathContext mc)
此建構函式用於將BigInteger無比例值和int比例轉換為BigDecimal,並根據上下文設定進行舍入。
4BigDecimal(BigInteger val, MathContext mc)
此建構函式用於將BigInteger轉換為BigDecimal,並根據上下文設定進行舍入。
5BigDecimal(char[ ] in)
此建構函式用於將BigDecimal的字元陣列表示形式轉換為BigDecimal,接受與BigDecimal(String)建構函式相同的字元序列。
6BigDecimal(char[ ] in, int offset, int len)
此建構函式用於將BigDecimal的字元陣列表示形式轉換為BigDecimal,接受與BigDecimal(String)建構函式相同的字元序列,同時允許指定子陣列。

以下是一個示例:

示例

 線上演示

import java.math.BigDecimal;
public class Demo {
   public static void main(String[] argv) throws Exception {
      BigDecimal val1 = new BigDecimal("37578975.8768");
      BigDecimal val2 = new BigDecimal("62567878.9768");
      BigDecimal val3 = new BigDecimal("72567874.3768");
      System.out.println("Value 1 : "+val1);
      System.out.println("Value 2 : "+val2);
      val1 = val1.add(val2);
      System.out.println("Addition Operation = " + val1);
      val1 = val1.multiply(val2);
      System.out.println("Multiplication Operation = " + val1);
      val2 = val3.subtract(val2);
      System.out.println("Subtract Operation = " + val2);
      val2 = val3.divide(val2,BigDecimal.ROUND_UP);
      System.out.println("Division Operation = " + val2);
   }
}

輸出

Value 1 : 37578975.8768
Value 2 : 62567878.9768
Addition Operation = 100146854.8536
Multiplication Operation = 6265976294387200.48179648
Subtract Operation = 9999995.4000
Division Operation = 7.2568

更新於:2019年7月30日

1K+ 次瀏覽

開啟你的職業生涯

透過完成課程獲得認證

開始學習
廣告