【发布时间】:2013-12-09 12:00:16
【问题描述】:
你能解释一下,为什么我得到下一个结果:
当我运行这个时:
System.out.println((0.2 - 0.1));
我得到:0.1
当我运行这个时:
System.out.println((0.3 - 0.2));
我得到:0.09999999999999998
我知道数字“0.1”在二进制中没有有限表示,但它没有解释上面的结果。这很可能与特定语言无关,而是与数字在计算机中的存储方式有关。
【问题讨论】:
-
从标题中删除了“无理数”,因为“无理数”一词具有特定含义,与问题无关。
标签: java floating-point numbers