我对 java 还很陌生,但有一些编码经验(主要是 PHP 和一些 C++)。
我在程序中的计算遇到了一些麻烦。当我运行以下代码时:
public class Test {
public static void main(String[] args) {
double number = 2 - (0.10 + 1.05);
System.out.println( number );
if( number < 0.85 ) System.out.println("to small");
}
}
我的输出如下:
run:
0.8499999999999999
to small
BUILD SUCCESSFUL (total time: 0 seconds)
我期望 2 - ( 0.10 + 1.05 ) 等于 0.85 但由于某种原因它不是。有谁知道它为什么会这样?
如果这很重要,我正在使用 netbeans 在 Windows 8 上对版本 7.3.1 和 jdk7u25 进行编码。如果还有什么我应该补充的,请告诉。
/克里斯