我们都知道由于二进制难以表示小数,所以无论是double还是float都存在精度丢失的问题,但是在大部分场景下我们对精度要求的又很严格,因此java提供了import java.math.BigDecimal类,用于处理我们对小数的处理。一些常用方法以及应用举例:
//创建bigDecimal实例
BigDecimal bigDecimal1=new BigDecimal(“123456789.124087”);
BigDecimal bigDecimal2=new BigDecimal(“13432452342.6345”);
//相加
BigDecimal ret=bigDecimal1.add(bigDecimal2);
//相减
ret=bigDecimal1.subtract(bigDecimal2);
//相乘
Ret=bigDecimal1.multiply(bigDecimal2);
//相除
Ret=bigDecimal1.divide(bigDecimal2);
//求商和余数
BigDecimal[] bigDecimals=bigDecimal1.divideAndRemainder(bigDecimal2);
BigInteger中的方法与BigDecimal中的一样。