Los porcentajes expresan razones sobre 100. Se usan para descuentos, impuestos, intereses, estadísticas, indicadores, reportes y comparaciones de crecimiento o disminución.
Un porcentaje es una forma de expresar una proporción usando 100 como referencia. Decir 25% significa 25 de cada 100, o también 25/100, que equivale a 0.25.
En programación, los porcentajes aparecen en descuentos, impuestos, barras de progreso, métricas de conversión, variaciones de precios, intereses, reportes y análisis de datos.
La clave es recordar que para calcular con porcentajes normalmente los convertimos a decimal dividiendo por 100.
Un porcentaje compara una parte con un total y expresa esa relación sobre 100.
const porcentaje = 40;
const decimal = porcentaje / 100;
console.log(decimal);
El valor decimal es el que se usa normalmente para multiplicar y calcular la parte correspondiente.
Porcentaje, fracción y decimal son tres formas de representar una misma relación.
| Porcentaje | Fracción | Decimal |
|---|---|---|
| 10% | 10/100 | 0.10 |
| 25% | 25/100 | 0.25 |
| 50% | 50/100 | 0.50 |
| 100% | 100/100 | 1 |
console.log(10 / 100);
console.log(25 / 100);
console.log(50 / 100);
console.log(100 / 100);
Para calcular un porcentaje de una cantidad, multiplicamos la cantidad por el porcentaje convertido a decimal.
const total = 800;
const porcentaje = 15;
const parte = total * porcentaje / 100;
console.log(parte);
El resultado indica cuánto representa el 15% de 800.
Si conocemos una parte y el total, podemos calcular qué porcentaje representa esa parte.
const completados = 45;
const total = 60;
const porcentaje = completados / total * 100;
console.log(porcentaje);
Este cálculo es común en barras de progreso, métricas de tareas completadas y reportes.
Un descuento reduce un valor inicial. Primero calculamos el monto descontado y luego lo restamos del precio original.
const precioOriginal = 1200;
const descuento = 20;
const montoDescuento = precioOriginal * descuento / 100;
const precioFinal = precioOriginal - montoDescuento;
console.log(montoDescuento);
console.log(precioFinal);
Un aumento incrementa un valor inicial. Primero calculamos el monto del aumento y luego lo sumamos al valor original.
const sueldo = 300000;
const aumento = 12;
const montoAumento = sueldo * aumento / 100;
const sueldoFinal = sueldo + montoAumento;
console.log(montoAumento);
console.log(sueldoFinal);
Otra forma de aplicar aumentos o descuentos es usar un factor multiplicador. Para aumentar 20%, multiplicamos por 1.20. Para descontar 20%, multiplicamos por 0.80.
| Operación | Porcentaje | Factor |
|---|---|---|
| Aumentar | 10% | 1.10 |
| Aumentar | 25% | 1.25 |
| Descontar | 10% | 0.90 |
| Descontar | 25% | 0.75 |
const precio = 1000;
console.log(precio * 1.20);
console.log(precio * 0.80);
La variación porcentual indica cuánto cambió un valor respecto de un valor inicial.
const valorInicial = 200;
const valorFinal = 250;
const variacion = (valorFinal - valorInicial) / valorInicial * 100;
console.log(variacion);
El resultado positivo indica crecimiento. Un resultado negativo indica disminución.
Si el valor final es menor que el inicial, la variación porcentual será negativa.
const valorInicial = 500;
const valorFinal = 425;
const variacion = (valorFinal - valorInicial) / valorInicial * 100;
console.log(variacion);
Podemos mostrar el valor absoluto si queremos comunicar la disminución como porcentaje positivo.
const variacion = -15;
console.log(Math.abs(variacion));
A veces conocemos el valor final después de un aumento o descuento y queremos recuperar el valor original. Para eso dividimos por el factor aplicado.
const precioFinal = 1200;
const aumento = 20;
const factor = 1 + aumento / 100;
const precioOriginal = precioFinal / factor;
console.log(precioOriginal);
Este cálculo es importante porque restar 20% a un valor aumentado 20% no vuelve al valor original.
Si aumentamos 20% y luego descontamos 20%, no regresamos al valor inicial, porque el descuento se aplica sobre un valor más grande.
const inicial = 1000;
const aumentado = inicial * 1.20;
const luegoDescontado = aumentado * 0.80;
console.log(aumentado);
console.log(luegoDescontado);
Los porcentajes dependen siempre de la base sobre la que se aplican.
Una barra de progreso muestra qué porcentaje de una tarea fue completado.
const pasosCompletados = 7;
const pasosTotales = 10;
const progreso = pasosCompletados / pasosTotales * 100;
console.log(progreso.toFixed(0) + "%");
El porcentaje permite comunicar visualmente el avance de forma simple.
Muchos sistemas calculan impuestos, recargos o comisiones como porcentajes sobre un importe base.
const subtotal = 5000;
const impuesto = 21;
const montoImpuesto = subtotal * impuesto / 100;
const total = subtotal + montoImpuesto;
console.log(montoImpuesto);
console.log(total);
En aplicaciones financieras reales se debe prestar atención al redondeo y a las reglas legales de cada caso.
const inicial = 100;
const final = 130;
const diferenciaAbsoluta = final - inicial;
const variacionPorcentual = (final - inicial) / inicial * 100;
console.log(diferenciaAbsoluta);
console.log(variacionPorcentual);
Los porcentajes son una aplicación directa de razones y proporciones. Permiten expresar partes, avances, aumentos, descuentos y cambios de forma comprensible para usuarios y sistemas.
En el próximo tema estudiaremos regla de tres simple y compuesta, una herramienta muy útil para resolver problemas proporcionales.