Является ли Double.MIN_VALUE больше нуля в Java?
Я обнаружил ошибку в моем коде, которая сводилась к сравнению Double(0.0)
с Double.MIN_VALUE
. По существу, следующее возвращает false:
System.out.println(0.0 > Double.MIN_VALUE);
Как это возможно?
Ответы
Ответ 1
В соответствии с javadoc для Double.MIN_VALUE, MIN_VALUE:
Постоянная, содержащая наименьший положительное ненулевое значение типа double
Так что Double.MIN_VALUE не является отрицательным, это положительное значение, которое как можно ближе к Double может достигнуть нуля (без нуля).
Ответ 2
Double.MIN_VALUE - наименьшее положительное ненулевое значение, которое может быть представлено двойным Java (см. JavaDoc в http://download.oracle.com/javase/8/docs/api/java/lang/Double.html).