【发布时间】:2012-08-26 08:53:41
【问题描述】:
我最近阅读了很多关于浮点表示的内容(包括:How To Represent 0.1 In Floating Point Arithmetic And Decimal)。 现在我明白 0.1 无法正确表示,当我这样做时:
System.out.println(2.0f - 1.9f);
我永远不会得到精确的结果。
所以问题是: 为了正确打印 0.1,如何在以下代码中表示 0.1f? 那是某种合成糖吗? 在我上面提到的文章中说:0.1 在内存中表示为 0.100000001490116119384765625。那么为什么我没有得到这段代码的输出:
System.out.println(0.1f);
Java 是如何处理这个问题的?
【问题讨论】:
-
第二个输出有多少位有效数字?
标签: java floating-point