lrj1596
lrj1596
2016-03-19 08:38

Java的double类型在运算时,结果有的时候不能精确显示。我知道是进制导致的。

10
  • java
  • double
  • 误差

下图讲解,我懂。
图片说明
但是,在做题的时候.............
图片说明
才发现,我也只能确定0.1不能被精确显示,具体该如何解这样的题呢?
其实我进一步思考了。我以为就看尾数是不是5。比如0.5、0.05。因为2的-x次方的尾数都是5。是5就能精确显示,不是就不能。但是后来发现.................
图片说明
说明不能只靠最终结果来判断...............那该怎么判断啊?

问题补充:我知道有BigDecimal这个类,我只可以用这个类避免精度问题。
但是我的问题就是如果做笔试题的时候,遇到这种挫科的问题(如第二幅图所示,刚刚图错了,不好意思哈~~呵呵),该如何找到正确的选项?

  • 点赞
  • 回答
  • 收藏
  • 复制链接分享

3条回答