Почему в JavaScript меньше, чем Number.MIN_VALUE?
Используя Node.js, я вычисляю выражение:
0 < Number.MIN_VALUE
К моему удивлению, это возвращает true
. Почему это? И: Как я могу получить наименьшее количество доступных, для которых сравнение работает так, как ожидалось?
Ответы
Ответ 1
Number.MIN_VALUE
- это 5e-324
, то есть наименьшее положительное число, которое может быть представлено в точности float, т.е. как можно ближе к нулю. Он определяет наилучшие разрешения, которые дают вам поплавки.
Теперь общее наименьшее значение Number.NEGATIVE_INFINITY
, хотя оно не является действительно числовым в строгом смысле.
Ответ 2
Так как Number.MIN_VALUE = 5e-324 = 5 x 10^-324
и больше, чем 0
(немного больше).
Подробнее here
.
Ответ 3
Number.MIN_VALUE
эквивалентен 5e-324, который больше 0.
Ответ 4
Используйте -Number.MAX_VALUE
вместо Number.MIN_VALUE для сравнения:
0 > -Number.MAX_VALUE
возвращает true
.