Почему минимальное значение Double возвращается как 0,0

Почему ниже вывод программы равен 0.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 вместо точного значения?


person Aajan    schedule 06.03.2016    source источник
comment
Возможный дубликат: stackoverflow.com/questions/5709073/   -  person sAm    schedule 06.03.2016
comment
Вопрос в том, почему он печатает 0,0 вместо ближайшего значения. Не получил этого из существующего вопроса, поэтому и спросил.   -  person Aajan    schedule 06.03.2016


Ответы (1)


Обратитесь к JavaDoc для Double.MIN_VALUE

Константа, содержащая наименьшее положительное ненулевое значение типа double, 2–1074. Он равен шестнадцатеричному литералу с плавающей запятой 0x0.0000000000001P-1022, а также равен Double.longBitsToDouble(0x1L).

0.0d таким образом меньше, чем Double.MIN_VALUE

person Yassin Hajaj    schedule 06.03.2016