大数值
基本语法:
如果基本的整数和浮点数精度不能满足需求,那么可以使用java.math包中的两个很有用的类:BigInteger和BigDecimal实现了任意长度数字序列的数值.BigInteger类实现了任意精度的整数运算.BigDecimal实现了任意精度的浮点数运算.
使用静态的valueOf方法可以将普通的数值转换为大数值:
BigInteger a=BigInteger.valueOf(100);
不过需要注意的是大家日常熟悉的算术运算符(如:+和*)不能用于处理大数值.而需要使引用大数据类中的add和multiply方法.
BigInteger c= a.add(b); //c=a+b;
BigInteger d=c.multiply(b.add(BigInteger.valueOf(2))); //d=c*(b+2);
BigInteger和BigDecimal类提供的方法:
BigInteger add(BigInteger other) //加法
BigInteger subtract(BigInteger other) //减法
BigInteger multiply(BigInteger other) //乘法
BigInteger divide(BigInteger other) //除法
BigInteger mod(BigInteger other) //求余
int compareTo(BigInteger other) //相等返回0,小于返回负数,大于返回正数
static BigInteger valueOf(long x) //返回值等于x的大整数