BigDecimal一般用于对比float,double类型
如果直接用==对比可能会存在误差,所以需要用BigDecimal来对比参数
首先引用import java.math.BigDecimal;
(不建议import java.math.*)全部引用
double x = 8.10;
double y = 8.1;
初始化BigDecimal 并且加入变量
BigDecimal dMal = BigDecimal.valueOf(x);
BigDecimal中value方法
public static BigDecimal valueOf(double val)
也就是说他支持float和double属性加入变量
然后如果直接你用参数来对比,会出现对比错误
例如
if(dMal.equals(y)) {
System.out.println("YES");
}else {
System.out.println("NO");
}
为什么会这样呢。在IDE提示中描述是equals()不太可能的参数类型:double似乎与BigDecimal无关
所以在对比的时候也要加入对比的对象类型也是BigDecimal,接下来是完整代码

网友评论