BigInteger
当一个整数很大,大到long都无法保存,就可以使用BigInteger这个类
使用方法:new
import java.math.BigInteger;//记得引包
BigInteger bigInteger= new BigInteger("33333333333399999999999");//用字符串传入
System.out.println(bigInteger);
如果要对bigInteger使用加减乘除,不能直接使用+ - * / ,而是要使用相应的方法
+ : add()
- : subtract()
* : multiply()
/ : divide()
传入的值也是一个BigInteger对象
如下:
bigInteger = bigInteger.add(new BigInteger("99999"));
BigDecimal
当一个数的精度很高,高到double都无法储存,就可以使用BigDecimal
decimal就是小数的英文
BigDecimal的创建方式、加减乘除方法的使用都与BigInteger一样
唯一不一样的是要注意BigDecimal的除法(divide):
当一个小数除以另一个小数是,有可能结果是无限循环小数,这时就会报错:ArithmeticException
翻译:这是一个无限小数,没有精度可以表示
解决办法也很简单:在除数的后面再传入一个参数,BigDecimal.ROUND_CEILING
这样结果的精度就会变成与被除数一致