1. 程式人生 > >Java學習日誌14.15 (第一階段基礎)

Java學習日誌14.15 (第一階段基礎)

2018.10.31 16:48 夕陽西下

14.15_常見物件(BigDecimal類的概述和方法使用)

  • A:BigDecimal的概述
    • 由於在運算的時候,float型別和double很容易丟失精度,演示案例。
    • 所以,為了能精確的表示、計算浮點數,Java提供了BigDecimal
    • 不可變的、任意精度的有符號十進位制數。
  • B:構造方法
    • public BigDecimal(String val)
      拓展:BigDecimal.valueof(double sal)
      valueOf(double val)
      使用 Double.toString(double) 方法提供的 double 規範的字串表示形式將 double 轉換為 BigDecimal。
  • C:成員方法
    • public BigDecimal add(BigDecimal augend)
    • public BigDecimal subtract(BigDecimal subtrahend)
    • public BigDecimal multiply(BigDecimal multiplicand)
    • public BigDecimal divide(BigDecimal divisor)*

程式碼練習:

package com.heima.otherclass;

import java.math.BigDecimal;

public class Demo_BigDecimal {
	public static void main(String[] args) {
		BigDecimal bd1 = new BigDecimal("2.2");		//通過構造中數字字串傳入,開發中推薦,不丟失精度
		BigDecimal bd2 = new BigDecimal("1.1");
		System.out.println(bd1.subtract(bd2));
		BigDecimal bd3 =  BigDecimal.valueof(8.8);		//通過呼叫靜態方法,其實底層也是new去建立物件,這種方式也推薦
		BigDecimal bd4 = BigDecimal.valueof(2.2);
		System.out.println(bd3.subtract(bd4));
		System.out.println("________");
		System.out.println(bd1.add(bd2));
		System.out.println(bd3.add(bd4));
		System.out.println("________");
		System.out.println(bd1.divide(bd2));
		System.out.println(bd3.divide(bd4));
		System.out.println("________");
		System.out.println(bd1.multiply(bd2));
		System.out.println(bd3.multiply(bd4));
	}
}