美文网首页
Java BigDecimal(float,double变量对比

Java BigDecimal(float,double变量对比

作者: Lex_50a5 | 来源:发表于2020-02-25 22:09 被阅读0次

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,接下来是完整代码


相关文章

网友评论

      本文标题:Java BigDecimal(float,double变量对比

      本文链接:https://www.haomeiwen.com/subject/ghvlaxtx.html