Lección 3 · 3 de 20
Números y Math · JavaScript
Haga cuentas en JavaScript: operadores, resto con %, potencias, redondeo con toFixed y las funciones del objeto Math, con ejemplos prácticos.

En JavaScript todos los números son del tipo number, tengan decimales o no. Las operaciones básicas son +, -, * y /. La superficie de la habitación es width * length; Math.round() la redondea al entero más próximo y `toFixed(2)` la escribe con dos decimales (como texto).
La división / siempre da el resultado exacto: 27 / 12 es 2.25. Para saber cuántas cajas de 12 huevos se llenan se usa `Math.floor()`, que redondea hacia abajo, y para los huevos que sobran, el resto %: 27 % 12 es 3.
** eleva a una potencia y Math.sqrt() calcula la raíz cuadrada. Math.max() y Math.min() devuelven el mayor y el menor de los números que reciban, y `Math.ceil()` redondea hacia arriba: con 130 personas y autobuses de 55 plazas hacen falta 3.
Los decimales se guardan en binario y algunos no son exactos: 0.1 + 0.2 da 0.30000000000000004. Para mostrar dinero o medidas, redondee con toFixed().
Number() convierte un texto en número y parseInt() lee el número entero del principio de un texto, como "15 kg". Si el texto no es un número, el resultado es `NaN` («no es un número»).
Código · main.js
// Whole numbers and decimals are all of type "number".const width = 4.5; // metresconst length = 3.2;const area = width * length;console.log("Area:", area, "m2");console.log("Rounded:", Math.round(area), "| Two decimals:", area.toFixed(2));// Division, whole part and remainderconst eggs = 27;console.log("27 / 12 =", eggs / 12);console.log("Full boxes of 12:", Math.floor(eggs / 12));console.log("Eggs left over:", eggs % 12);// Powers and rootsconsole.log("2 to the 10th:", 2 ** 10, "| Square root of 144:", Math.sqrt(144));// Highest, lowest, rounding upconsole.log("Warmest day:", Math.max(14, 19, 23, 17, 9));console.log("Coldest day:", Math.min(14, 19, 23, 17, 9));console.log("Buses for 130 people (55 seats):", Math.ceil(130 / 55));// Decimals are not always exact in binary:console.log(0.1 + 0.2, "->", (0.1 + 0.2).toFixed(2));// From text to numberconsole.log(Number("42") + 8, "| parseInt:", parseInt("15 kg"), "| Not a number:", Number("abc"));Salida · node main.js
Area: 14.4 m2 Rounded: 14 | Two decimals: 14.40 27 / 12 = 2.25 Full boxes of 12: 2 Eggs left over: 3 2 to the 10th: 1024 | Square root of 144: 12 Warmest day: 23 Coldest day: 9 Buses for 130 people (55 seats): 3 0.30000000000000004 -> 0.30 50 | parseInt: 15 | Not a number: NaN
Para recordar
%es el resto de la división.Math.floorredondea hacia abajo,Math.ceilhacia arriba yMath.roundal más próximo.toFixed(n)da un texto conndecimales.- Los decimales no siempre son exactos: redondee al mostrarlos.
Number("abc")daNaN.
Ejercicio
Calcule cuántas cajas de 6 botellas hacen falta para 50 botellas y cuántas sobran en la última caja, y el precio de 7 botellas a 1.35 euros con dos decimales.