基本的整数和浮点型精度不能满足需求,那么可以使用java.math中的两个类:BigInteger和BigDecimal。
BigInteger和BigDecimal介绍:
这两个类可以处理包含任意长度序列的数值。
BIgInteger类实现了任意精度的整数计算。BigDecimal实现了任意精度的浮点数计算。
使用静态的valueOf方法可以将普通的数值转化位大数值
BigInteger a = BigInteger.valueOf(100);
使用:
BIgInteger c = a.add(b);(c = a+b;)
BigInterger d = c.multiply(b.add(BigInteger.valueOf(2)));(d = c*(b+2));
BigInteger的API介绍:
add(BigInteger a)//加
subtract(BigInteger a)//减法
multiply(BigInteger a) //乘法
divide(BigInteger a)//除法
mod(BigInteger a)//求余
compareTo(BigInteger a)//等于返回0.小于负数,大于正数
valueOf(long x)//返回X的大整数
BigDecamal的API介绍:
add(BigDecimal a)//加
subtract(BigDecimal a) //减法
multiply(BigDecimal a)//乘法
divide(BigDecimal a)//除法
compareTo(BigDecimal a)//规则同BigIneger
valueOf(long x)