BigDecimal在使用的时候,需要注意问题记录:
1、在BigDecimal作乘法运算时,小数位保留问题;
举例代码如下:
BigDecimal bigDecimal = new BigDecimal("0.02"); System.out.println(bigDecimal.multiply(new BigDecimal(100)).toString());
输出结果为2.00,而非2,对于本来想要Long类型的你来说这是一个小坑,所以如果你想要得到一个不包含小数点的数值,需要设置setScale()
System.out.println(bigDecimal.multiply(new BigDecimal(100)).setScale(0).toString());
输出结果为2,才真正得到你想要的结果^_^