En este tutorial, aprenderá sobre JavaScript Number con la ayuda de ejemplos.
En JavaScript, los números son tipos de datos primitivos. Por ejemplo,
const a = 3; const b = 3.13;
A diferencia de otros lenguajes de programación, no tiene que declarar específicamente para valores enteros o flotantes usando int , float , etc.
Puede usar la notación exponencial e para incluir números demasiado grandes o demasiado pequeños. Por ejemplo,
const a1 = 5e9; console.log(a1); //5000000000 const a2 = 5e-5; console.log(a2); // 0.00005
Los números también se pueden denotar en notación hexadecimal. Por ejemplo,
const a = 0xff; console.log(a); // 255 const b = 0x00 ; console.log(b); // 0
+ Operador con números
Cuando +
se usa con números, se usa para sumar números. Por ejemplo,
const a = 4 + 9; console.log(a); // 13
Cuando +
se usa con números y cadenas, se usa para concatenarlos. Por ejemplo,
const a = '4' + 9; console.log(a); // 49
Cuando se utiliza una cadena numérica con otras operaciones numéricas, la cadena numérica se convierte en un número. Por ejemplo,
const a = '4' - 2; console.log(a); // 2 const a = '4' / 2; console.log(a); // 2 const a = '4' * 2; console.log(a); // 8
JavaScript NaN
En JavaScript, NaN
(Not a Number) es una palabra clave que indica que el valor no es un número.
Realizando operaciones aritméticas (excepto +
) a valor numérico con resultados de cadena NaN
. Por ejemplo,
const a = 4 - 'hello'; console.log(a); // NaN
La función incorporada isNaN()
se puede utilizar para encontrar si un valor es un número. Por ejemplo,
const a = isNaN(9); console.log(a); // false const a = isNaN(4 - 'hello'); console.log(a); // true
Cuando el typeof
operador se usa para NaN
valor, da una salida numérica. Por ejemplo,
const a = 4 - 'hello'; console.log(a); // NaN console.log(typeof a); // "number"
JavaScript Infinity
En JavaScript, cuando se realiza un cálculo que excede el número más grande (o más pequeño) posible, se devuelve Infinity
(o -Infinity
). Por ejemplo,
const a = 2 / 0; console.log(a); // Infinity const a = -2 / 0; console.log(a); // -Infinity
JavaScript BigInt
En JavaScript, el tipo de número solo puede representar números menores que (2 53 - 1) y más que - (2 53 - 1) . Sin embargo, si necesita usar un número mayor que ese, puede usar el tipo de datos BigInt.
Un número BigInt se crea agregando n al final de un número entero. Por ejemplo,
// BigInt value const value = 900719925124740998n; // Adding two big integers const value1 = value + 1n; console.log(value1); // returns "900719925124740999n"
Nota: BigInt se introdujo en la versión más reciente de JavaScript y no es compatible con muchos navegadores. Visite el soporte de JavaScript BigInt para obtener más información.
Los números de JavaScript se almacenan en 64 bits
En JavaScript, los números se almacenan en formato de 64 bits IEEE-754, también conocido como "números de punto flotante de doble precisión".
Los números se almacenan en 64 bits (el número se almacena en posiciones de 0 a 51 bits, el exponente en posiciones de 52 a 62 bits y el signo en posición de 63 bits).
Números | Exponente | Firmar |
---|---|---|
52 bits (0 - 51) | 11 bits (52-62) | 1 bit (63) |
Problemas de precisión
Las operaciones con números de punto flotante dan como resultado algunos resultados inesperados. Por ejemplo,
const a = 0.1 + 0.2; console.log(a); // 0.30000000000000004
El resultado debería ser 0,3 en lugar de 0,30000000000000004 . Este error se produce porque en JavaScript, los números se almacenan en forma binaria para representar dígitos decimales internamente. Y los números decimales no se pueden representar en forma binaria exactamente.
Para resolver el problema anterior, puede hacer algo como esto:
const a = (0.1 * 10 + 0.2 * 10) / 10; console.log(a); // 0.3
También puede utilizar el toFixed()
método.
const a = 0.1 + 0.2; console.log(a.toFixed(2)); // 0.30
toFixed(2)
redondea el número decimal a dos valores decimales.
const a = 9999999999999999 console.log(a); // 10000000000000000
Nota : Los números enteros tienen una precisión de hasta 15 dígitos.
Objetos numéricos
También puede crear números usando la new
palabra clave. Por ejemplo,
const a = 45; // creating a number object const b = new Number(45); console.log(a); // 45 console.log(b); // 45 console.log(typeof a); // "number" console.log(typeof b); // "object"
Nota : Se recomienda evitar el uso de objetos numéricos. El uso de objetos numéricos ralentiza el programa.
Métodos de números de JavaScript
Aquí hay una lista de métodos numéricos integrados en JavaScript.
Método | Descripción |
---|---|
isNaN () | determina si el valor pasado es NaN |
isFinite () | determina si el valor pasado es un número finito |
isInteger () | determina si el valor pasado es un número entero |
isSafeInteger () | determina si el valor pasado es un entero seguro |
parseFloat (cadena) | convierte la cadena flotante numérica en un número de punto flotante |
parseInt (cadena, (raíz)) | convierte la cadena numérica en entero |
toExponential (fracciónDígitos) | returns a string value for a number in exponential notation |
toFixed(digits) | returns a string value for a number in fixed-point notation |
toPrecision() | returns a string value for a number to a specified precision |
toString((radix)) | returns a string value in a specified radix(base) |
valueof() | returns the numbers value |
toLocaleString() | returns a string with a language sensitive representation of a number |
For example,
// check if a is integer const a = 12; console.log(Number.isInteger(a)); // true // check if b is NaN const b = NaN; console.log(Number.isNaN(b)); // true // display upto two decimal point const d = 5.1234; console.log(d.toFixed(2)); // 5.12
JavaScript Number Properties
Here is a list of Number properties in JavaScript.
Property | Description |
---|---|
EPSILON | returns the smallest interval between two representable numbers |
MAX_SAFE_INTEGER | returns the maximum safe integer |
MAX_VALUE | returns the largest possible value |
MIN_SAFE_INTEGER | returns the minimum safe integer |
MIN_VALUE | returns the smallest possible value |
NaN | represents 'Not-a-Number' value |
NEGATIVE_INFINITY | represents negative infinity |
POSITIVE_INFINITY | representa infinito positivo |
prototipo | permite la adición de propiedades a los objetos numéricos |
Por ejemplo,
// largest possible value const a = Number.MAX_VALUE; console.log(a); // 1.7976931348623157e+308 // maximum safe integer const a = Number.MAX_SAFE_INTEGER; console.log(a); // 9007199254740991
Función JavaScript Number ()
La Number()
función se utiliza para convertir varios tipos de datos en números. Por ejemplo,
const a = '23'; // string const b = true; // boolean //converting to number const result1 = Number(a); const result2 = Number(b); console.log(result1); // 23 console.log(result2); // 1
Si desea obtener más información sobre la conversión de números, visite Conversión de tipo de JavaScript.