I was just testing numbers in JavaScript when I noticed something weird occurring.
Why is Number.MIN_VALUE
greater than 0
? I expected it to be a very small negative value.
console.log(Number.MIN_VALUE > 0);
Is there some mathematics behind it, or is it a JavaScript precision error?
The value of Number.MIN_VALUE
is equal to 5e-324
. This can be shown below.
console.log(Number.MIN_VALUE);
As you can see, the value is 5e-324
.
This is the smallest positive number that can be shown within float precision (float precision is relating to the 0.1 + 0.2
bug).
This is as close as you can get to 0
.
The technical smallest value is Number.NEGATIVE_INFINITY
.
console.log(Number.NEGATIVE_INFINITY);
However, this isn't really "numerical", as the value is -Infinity
, which can't be represented with a clear number.