1. 程式人生 > 其它 >JAVA中BigInteger類和BigDecimal類

JAVA中BigInteger類和BigDecimal類

技術標籤: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));
	}

}