开发者社区> 问答> 正文

关于Java浮点运算精确的问题

早知道在java中,浮点运算会出现不精确的情况。解决方案是BigDecimal类。
今天发现个问题:
`System.out.println(2-1.1);//0.8999999999999999
System.out.println(2.0-0.9);//1.1`
只要没有整数位的都会出现问题?

展开
收起
蛮大人123 2016-03-12 11:44:29 1786 0
1 条回答
写回答
取消 提交回答
  • 我说我不帅他们就打我,还说我虚伪

    原因在于浮点数由两部分组成:指数和 尾数,浮点数转换成二进制后,并且参与了计算,那么转换的过程就会变得不可预知,并且变得不可逆
    你提到的第二个情况仅仅是碰巧在转换过程中没有发现精度丢失.

    2019-07-17 19:00:36
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Java 8 简明教程 立即下载
JAVA 应用排查全景图 立即下载
Java高级特性入门(二) 立即下载