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

    java double计算精度问题 double计算防止精度丢失:方案:将double转成bigDecimalSy...

网友评论

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

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