为什么Double的min值返回0.0

时间:2016-03-06 09:51:56

标签: java

为什么以下程序输出为0.0。它将返回Double的最小值。

public class Test {
    public static void main(String[] args){
        System.out.println(Math.min(Double.MIN_VALUE, 0.0d)); // 0.0
    }
}

最小值接近零,但为什么它给出0.0而不是精确值?

1 个答案:

答案 0 :(得分:5)

请参阅JavaDoc以了解Double.MIN_VALUE

  

持有最小 类型为double 的正非零值的常量,   2-1074。它等于十六进制浮点字面值   0x0.0000000000001P-1022也等于   Double.longBitsToDouble(0x1L)。

0.0d因此小于Double.MIN_VALUE