BigInteger适合保存比较大的数据,比如处理很大的数据,long不够用,可以使用BigInteger搞定,在对BigInteger进行操作时,需要使用对应的方法,不能直接进行 + - * /
例如BigInteger bigInteger1 = new BigInteger("278999999999999999999999999999");
BigInteger bigInteger2 = new BigInteger("1");
BigInteger add = bigInteger1.add(bigInteger2); //278000000000000000000000000000
BigInteger subtract = bigInteger1.subtract(bigInteger2); //278999999999999999999999999998
BigInteger multiply = bigInteger1.multiply(bigInteger2); //278999999999999999999999999999 * 1
BigInteger divide = bigInteger1.divide(bigInteger2); //278999999999999999999999999999 / 1
divide方法可能会抛出算术异常
----------------------------------
BigDecimal适合保存精度更高的浮点型(小数),比如double不够用的情况下
如果要对BigDecimal进行运算,也需要调用对应的方法

其中调用divide方法可能抛出算术运算异常,可以指定精度即可
bigDecimal.divide(bigDecimal1,BigDecimal.ROUND_CEILING);
如果有无限循环小数,则保留分子的精度
本文介绍了BigInteger用于处理大数值,如278999999999999999999999999999,以及其加减乘除操作方法。同时,提到BigDecimal用于高精度浮点数,如double的补充,可能抛出算术异常并需指定精度。
133

被折叠的 条评论
为什么被折叠?



