大数
如果基本的整数类型和浮点类型精确度还不够满足需求,那么可以使用javamath包中的BigInteger和BigDecimal类。这些类的对象代表了数字,该数字有任意长序列的位数。BigInteger类实现了任意精度整数计算,BigDecimal对浮点数有同样的实现。
BigInteger类的静态方法valueOf将long型转换为BigInteger: 例如
BigInteger n = BigInteger.valueof(876543210123456789L);
我们也可以用数字字符串构造
BigInteger:BigInteger k = new BigInteger("9876543210123456789");
Java不允许对象使用操作符,因此操作大数的时候,必须使用方法调用,
BigInteger r = BigInteger.valueOf(5).multiply(n.add(k)); // r = 5* (n + k)