如果基本的整数和浮点数精度不能够满足需求,name可以使用java.math包中的两个类:BigInteger和BigDecimal。这两个类可以处理包含任意长度数字序列的数值。BigInteger类实现了任意精度的整数运算,BigDecimal实现了任意精度的浮点数运算。
使用静态方法ValueOf可以将普通的数值转换为大数值:
BigInteger a = BigInteger.valueOf(100);
但是不能使用算术运算符(+、*等)。需要使用add和multiply方法。
BigInteger c = b.add(a);
BigInteger d = c.multiply(b.add(BigInteger.valueOf(2)));