Golo Roden
Golo Roden

Reputation: 150772

Why is 0 less than Number.MIN_VALUE in JavaScript?

Using Node.js, I'm evaluating the expression:

0 < Number.MIN_VALUE

To my surprise, this returns true. Why is that? And: How can I get the smallest number available for which the comparison works as expected?

Upvotes: 42

Views: 17024

Answers (5)

Moharouki
Moharouki

Reputation: 11

`Number.MIN_VALUE` is equal to 5e-324 or 5*(10^-324);

it's math. any positive number is greater than zero.

Upvotes: 1

Sean Yang
Sean Yang

Reputation: 75

Use -Number.MAX_VALUE instead of Number.MIN_VALUE to compare:

0 > -Number.MAX_VALUE returns true.

Upvotes: -1

Mukund Kumar
Mukund Kumar

Reputation: 23211

Number.MIN_VALUE is equivalent to 5e-324 , which is greater than 0.

Upvotes: 6

back2dos
back2dos

Reputation: 15623

Number.MIN_VALUE is 5e-324, i.e. the smallest positive number that can be represented within float precision, i.e. that's as close as you can get to zero. It defines the best resolution floats give you.

Now the overall smallest value is Number.NEGATIVE_INFINITY although that's not really numeric in the strict sense.

Upvotes: 64

Amir Popovich
Amir Popovich

Reputation: 29846

Since Number.MIN_VALUE = 5e-324 = 5 x 10^-324 and it's greater than 0(a little bit greater).
Read more here.

Upvotes: 2

Related Questions