qq_36152559
2017-03-20 07:30
采纳率: 100%
浏览 941
已采纳

对于Java中加减运算的疑惑

猜到了开头没猜到结尾(3-2.6==0.4)的的比较结果是false,但是3-2.6的输出结果是3.9999999999999999,这是Java的运算机制造成的么?

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • MCX_007 2017-03-20 07:46
    已采纳

    最好不要进行浮点数相等判断,这个不是Java计算机制造成的,任何语言都会出现这个问题,这是计算机对浮点数的存储机制导致的,可以通过Java的BigDecimal进行处理。

    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • oyljerry 2017-03-20 07:44

    浮点数运算就是这样的,它是用精度来判断
    http://blog.csdn.net/wcxiaoych/article/details/42806313

    评论
    解决 无用
    打赏 举报
  • 正常的,float的精度丢失,计算出来的是一个近似值,可以用大数字类型BigDecimal解决。

    评论
    解决 无用
    打赏 举报
  • 梦丶乾 2017-03-20 08:55

    用BigDecimal

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题