Estaba probando números en JavaScript cuando noté que ocurría algo extraño.
¿Por qué Number.MIN_VALUE es mayor que 0 ? Esperaba que fuera un valor negativo muy pequeño.
console.log(Number.MIN_VALUE > 0);¿Hay algo de matemática detrás de esto, o es un error de precisión de JavaScript?
El valor de Number.MIN_VALUE es igual a 5e-324 . Esto se puede mostrar a continuación.
console.log(Number.MIN_VALUE); Como puede ver, el valor es 5e-324 .
Este es el número positivo más pequeño que se puede mostrar dentro de la precisión flotante (la precisión flotante se relaciona con el error 0.1 + 0.2 ).
Esto es lo más cerca que puede llegar a 0 .
El valor técnico más pequeño es Number.NEGATIVE_INFINITY .
console.log(Number.NEGATIVE_INFINITY); Sin embargo, esto no es realmente "numérico" , ya que el valor es -Infinity , que no se puede representar con un número claro.
Number.MIN_VALUE: el número positivo más pequeño representable, es decir, el número positivo más cercano a cero (sin ser realmente cero).
Cuando ejecutas console.log(Number.MIN_VALUE); , verá la salida como 5e-324 .
Y podría agregar, lo que espera podría ser Number.MIN_SAFE_INTEGER o Number.NEGATIVE_INFINITY