美文网首页
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