美文网首页
2018-11-04-1

2018-11-04-1

作者: 单是一个姓 | 来源:发表于2018-11-04 17:42 被阅读0次

    java double计算精度问题

    double计算防止精度丢失:
    方案:将double转成bigDecimal
    System.out.println(0.11+2001299.32);//非精确的输出
    BigDecimal bigDecimal1 = new BigDecimal(Double.toString(0.11));
    BigDecimal bigDecimal2 = new BigDecimal(Double.toString(2001299.32));
    BigDecimal bb = bigDecimal1.add(bigDecimal2);
    System.out.println(bb.doubleValue());//精确的输出

    运行结果:
    2001299.4300000002
    2001299.43

    bigdeciaml转double:
    BigDecimal a = new BigDecimal(1000);
    double d = a.doubleValue(); // 查看bigDecimal API

    相关文章

      网友评论

          本文标题:2018-11-04-1

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