JAVA中BigInteger類和BigDecimal類
阿新 • • 發佈:2021-02-06
技術標籤:java
JAVA中BigInteger類和BigDecimal類
###14.14_常見物件(BigInteger類的概述和方法使用)
- A:BigInteger的概述
- 可以讓超過Integer範圍內的資料進行運算
- B:構造方法
- public BigInteger(String val)
- C:成員方法
- public BigInteger add(BigInteger val)
- public BigInteger subtract(BigInteger val)
- public BigInteger multiply(BigInteger val)
- public BigInteger divide(BigInteger val)
- public BigInteger[] divideAndRemainder(BigInteger val)
import java.math.BigInteger;
public class Demo4_BigInteger {
public static void main(String[] args) {
//long num = 123456789098765432123L;
//String s = "123456789098765432123";
BigInteger bi1 = new BigInteger("100");
BigInteger bi2 = new BigInteger("2");
System.out.println(bi1.add(bi2)); //+
System.out.println(bi1.subtract(bi2)); //-
System.out.println(bi1.multiply(bi2)); //*
System.out.println(bi1.divide(bi2)); ///(除)
BigInteger[] arr = bi1.divideAndRemainder(bi2); //取除數和餘數
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
}
}
###14.15_常見物件(BigDecimal類的概述和方法使用)
- A:BigDecimal的概述
-
由於在運算的時候,float型別和double很容易丟失精度,演示案例。
-
所以,為了能精確的表示、計算浮點數,Java提供了BigDecimal
-
不可變的、任意精度的有符號十進位制數。
-
- B:構造方法
- 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)
- D:案例演示
- BigDecimal類的構造方法和成員方法使用
package com.heima.otherclass;
import java.math.BigDecimal;
public class Demo5_BigDecimal {
/*
十進位制表示1/3
0.3333333333333333333333333333333333333333
*/
public static void main(String[] args) {
//System.out.println(2.0 - 1.1);
/*BigDecimal bd1 = new BigDecimal(2.0); //這種方式在開發中不推薦,因為不夠精確
BigDecimal bd2 = new BigDecimal(1.1);
System.out.println(bd1.subtract(bd2));*/
/*BigDecimal bd1 = new BigDecimal("2.0"); //通過構造中傳入字串的方式,開發時推薦
BigDecimal bd2 = new BigDecimal("1.1");
System.out.println(bd1.subtract(bd2));*/
BigDecimal bd1 = BigDecimal.valueOf(2.0); //這種方式在開發中也是推薦的
BigDecimal bd2 = BigDecimal.valueOf(1.1);
System.out.println(bd1.subtract(bd2));
}
}