Capítulo 9: Números y Aritmética
JavaScript trata todos los números como el tipo number, sin distinguir entre enteros y decimales. Este capítulo explora cómo trabajar con números de forma profesional.
9.1. Representación de Números en JavaScript
let entero = 42;
let decimal = 3.14;
let notacionCientifica = 1.23e2; // 123
let hexadecimal = 0x1A; // 26
let octal = 0o12; // 10
let binario = 0b1010; // 109.2. Enteros y Decimales: Precisión de Punto Flotante
JavaScript usa el estándar IEEE 754 (64 bits), causando problemas de precisión:
console.log(0.1 + 0.2); // 0.30000000000000004
console.log(0.1 + 0.2 === 0.3); // false (¡problema clásico!)
// Solución: margen de tolerancia
const EPSILON = 1e-10;
console.log(Math.abs((0.1 + 0.2) - 0.3) < EPSILON); // true9.3. NaN (Not-a-Number) e Infinity
9.4. Métodos de Conversión
9.5. Métodos de Redondeo
9.6. Métodos de la Clase Math
9.7. Generación de Números Aleatorios
9.8. Números Grandes: BigInt (ES2020+)
Resumen del Capítulo
Los números en JavaScript tienen características únicas derivadas del estándar IEEE 754. Comprender los límites de precisión y usar los métodos apropiados es esencial para trabajar con datos numéricos de forma confiable.
💡 Conceptos Clave:
IEEE 754: Causa imprecisión con decimales
NaN e Infinity: Valores especiales
Métodos de conversión: parseInt, parseFloat, Number
Redondeo: round, floor, ceil, trunc, toFixed
Math: Objeto con métodos matemáticos
Random: Generación de números pseudoaleatorios
BigInt: Para números muy grandes
🤔 Preguntas de Reflexión:
¿Por qué 0.1 + 0.2 no es exactamente 0.3?
¿Cuándo usarías parseInt vs Number?
¿Cuál es la diferencia entre Math.floor y Math.trunc?
Escribe una función que genere un número aleatorio entre dos valores.
Última actualización
¿Te fue útil?