'Why is the minimal value greater than zero? [duplicate]
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?
Solution 1:[1]
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.
Solution 2:[2]
Number.MIN_VALUE: The smallest positive representable number—that is, the positive number closest to zero (without actually being zero).
When you run console.log(Number.MIN_VALUE);, you'll see the output as 5e-324.
And I might add, what you expect might be Number.MIN_SAFE_INTEGER or Number.NEGATIVE_INFINITY
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | Arnav Thorat |
| Solution 2 | namln-hust |
