BigDecimal计算出的结果会有误差吗?为啥余数部分不正确
Topic source小白个人见解(望大神指正):
我们可以利用这个方法判断两个BigDecimal
是否是整数倍数:
public static void main(String[] args) {
BigDecimal n = new BigDecimal("12.345");
BigDecimal m = new BigDecimal("0.12");
BigDecimal[] dr = n.divideAndRemainder(m);
System.out.println(12.345/0.12);
System.out.println(dr[0]); // 102
System.out.println(dr[1]); // 0.105
** if (dr[1].signum() == 0) {**
** System.out.println("n是m的整数倍");**
** }**
}
}
102.87500000000001
102.0
0.105
- 1
浩子_No1
我用计算器算了下应该是102.875才对,为啥代码计算出的余数部分是0.105