1. 程式人生 > 其它 >13-05 Java語言基礎(常用工具類之BigInteger類 & BigDecimal類)

13-05 Java語言基礎(常用工具類之BigInteger類 & BigDecimal類)

技術標籤:Java基礎java

BigInteger類

概述:

可以讓超過Integer範圍內的資料進行運算

構造方法

public BigInteger(String val)

成員方法

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)

輸出:

102
98
200
50
33
1

BigDecimal類

概述:

由於在運算的時候,float型別和double型別很容易丟失精度。
所以,為了能精確地表示、計算浮點數,Java提供了BigDecimal。
BigDecimal:不可變的,任意精度的有符號十進位制數

構造方法:

public BigDecimal(String val)

程式碼:

import java.math.BigDecimal;

public class Demo6_BigDecimal {
	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"); BigDecimal bd1 = BigDecimal.valueOf(2.0); BigDecimal bd2 = BigDecimal.valueOf(1.1); System.out.println(bd1.subtract(bd2)); } }

輸出:

0.8999999999999999
0.9

分析:

推薦使用建構函式(傳入字串)或者valueOf的方式構建BigDecimal,這樣的比較準確