Números JavaScript
En JavaScript moderno pueden destacarse dos tipos de números: Regular y bigInt.
- Los números regulares se almacenan en el formato de 64 bits IEEE-754. También se conocen como “Números flotantes de doble precisión”. Los desarrolladores utilizan estos números la mayor parte en su práctica.
- Los números BigInt se utilizan para representar enteros de longitud arbitraria. Solo los utilizamos en algunas áreas únicas.
Las formas de escribir un número
Supongamos que quieres escribir mil millones. Esta es la forma más común:
let billion = 1000000000;
En nuestra práctica, comúnmente intentamos alejarnos de escribir muchos ceros. Preferimos escribir, por ejemplo, "1bn". Ahora, aprenderemos cómo acortar un número en JavaScript.
Para acortar un número en JavaScript, debes agregar la letra "e" al número y especificar el recuento de ceros. Se verá de esta manera:
Ahora, imagina que quieres escribir “un microsegundo”. Debes hacerlo de la siguiente manera:
let ms = 0.000001;
Si estás deseoso de evitar escribir una gran cantidad de ceros, debes actuar de esta manera:
Como 0.000001 incluye 6 ceros, será 1e-6.
Números Hexadecimales, Binarios y Octales
En Javascript, utilizamos números hexadecimales, también conocidos como Hex, para representar colores, codificar caracteres, y mucho más. Afortunadamente, hay una manera más corta de escribirlos:
0x y luego el número.
Aquí tienes un ejemplo:
Aquí tienes un ejemplo de los números octales :
Generalmente, los desarrolladores utilizan los sistemas numerales binario y octal más raramente. Estos sistemas numerales también están soportados utilizando los siguientes prefijos: 0b y 0o.
Por ejemplo:
toString (Base)
Este método devuelve una representación de cadena de num, con una base particular, que puede variar de 2 a 36. Pero por defecto es 10.
Por ejemplo:
Redondeo
Una operación típica al trabajar con números es el redondeo.
A continuación puedes encontrar varias funciones incorporadas usadas para el redondeo:
Math.floor
Con la ayuda de esta función, puedes redondear fácilmente hacia abajo. Por ejemplo, 6.2 se convierte en 6, -2.2 se convierte en-3.
Math.ceil
Esta función hace lo contrario. Redondea los números hacia arriba. Por ejemplo, 3.1 se convierte en 4, -2.2 se convierte en -2 .
Math.round
El uso de esta función redondeará al entero más cercano. Por ejemplo, 3.1 se convierte en 3, 5.6 se convierte en 6, y -2.2 se convierte en -2.
Math.trunc
Esta función elimina cualquier cosa después del punto decimal. Por ejemplo, 6.1 se convierte en 6.
Cálculo Impreciso
En el formato de 64 bits IEEE-754, hay 64 bits para almacenar un número. 52 de ellos se utilizan para almacenar los dígitos, 11 de ellos - para la posición del punto decimal, y 1- para el signo.
En caso de que el número sea demasiado grande, se desbordará el almacenamiento de 64 bits y potencialmente dará un infinito.
Para una mejor comprensión, revisa este ejemplo:
La pérdida de precisión también es algo común. Mira la siguiente prueba (falsa!):
Pruebas: isFinite e isNan
Primero que nada, veamos los siguientes dos valores numéricos únicos:
- Infinity (y -Infinity). Este valor numérico es mayor (menor) que cualquier otra cosa.
- NaN muestra un error.
Es vital saber que estos no son números estándar. Por lo tanto, necesitas usar funciones especiales para comprobarlos.
-
La isNaN(value) convierte su argumento en un número. Posteriormente, prueba si es isNaN(value) o no.
- isFinite(value) convertirá su argumento a un número y devolverá true en caso de que el número sea regular, no NaN/Infinity/-Infinity.
Por ejemplo:
Te puedes preguntar por qué no es posible usar la comparación de === NaN. Simplemente porque el NaN es único en que no será igual a nada, ni siquiera a sí mismo:
Miremos este ejemplo:
Hay casos en los que los desarrolladores utilizan isFinite para validar si un valor de cadena es un número regular, de esta manera:
ParseInt y ParseFloat
Una conversión numérica que utiliza un + o un Number() es estricta. Si un valor no es exactamente un número, fallará de la siguiente manera:
Los espacios al principio o al final de la cadena son la única excepción, ya que se ignoran.
Por cierto, en CSS, puedes encontrar valores en unidades, como "20pt" o "50px". Además, hay muchos países donde el símbolo de la moneda va después del monto. Por ejemplo, "19$". Si quieres extraer un valor numérico de ello, puedes usar parseInt y parseFloat. Estas funciones leerán de una cadena hasta el punto en que no puedan. Si ocurre un error, se devolverá el número que se ha recopilado. El parseInt devolverá un entero, mientras que parseFloat- el número de punto flotante, de la siguiente manera:
En algunas situaciones, las funciones parseInt y parseFloat no devolverán el NaN. Esto puede suceder cuando no se encuentran dígitos. Revisa el siguiente ejemplo:
La función parseInt() tiene un parámetro opcional que especifica la base del sistema numeral. Así, parseInt puede analizar las cadenas de números hexadecimales, números binarios, etc:
Hora del Cuestionario: ¡Pon a Prueba Tus Habilidades!
¿Listo para desafiar lo que has aprendido? Sumérgete en nuestros cuestionarios interactivos para una comprensión más profunda y una forma divertida de reforzar tu conocimiento.