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,这样的比较准确