Java學習日誌14.15 (第一階段基礎)
阿新 • • 發佈:2018-11-03
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。
- public BigDecimal(String val)
- 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)); } }