Java:将Double 0与Min / Max进行比较

chr*_*s01 2 java

我尝试将Doubles Min / Max与0.0进行比较。

Double min = Double.MIN_VALUE;
Double max = Double.MAX_VALUE;

Double d = new Double (0.0);

System.out.println (min < d);
System.out.println (min.compareTo (d) < 0);

System.out.println (d < max);
System.out.println (d.compareTo (max) < 0);
Run Code Online (Sandbox Code Playgroud)

我希望所有输出都是正确的。

但是我得到了

false
false
true
true
Run Code Online (Sandbox Code Playgroud)

为什么?

Jes*_*per 6

看文档的Double.MIN_VALUE,它说:

拥有double类型2 -1074的最小正非零值的常数。

因此,这是一个大于0的值,这就是为什么如果您检查它是否小于零,那么就将其“ false”的原因。