JSFiddle - React, Tailwind, and code Playground
by borisjavier
HTML
<!DOCTYPE html>
<input type="hidden" id="tir" value="15">
<input type="text" id="investi" value="1000">
<div id="result"></div>
JavaScript
document.addEventListener('DOMContentLoaded', function() {
// Valores desde el DOM
const valorPresente = parseFloat(document.getElementById('investi').value);
const tir = parseFloat(document.getElementById('tir').value) / 100; // Convertir a decimal
// Variables definidas en el script
const perTot = 3; // Ejemplo: 3 años
const unitPer = 1; // Ejemplo: pagos mensuales
const totalSeconds = perTot * 31536e3;
const numPagos = Math.floor(totalSeconds / (unitPer * 2592e3));
// Tasa de interés mensual
const tasaMensual = tir / 12;
// Calcular el valor futuro
const valorFuturo = valorPresente * Math.pow((1 + tasaMensual), (12 * perTot));
// Calcular el valor de cada pago
const valorPago = valorFuturo / numPagos;
let acumulado = [];
let sumaAcumulada = 0;
for (let i = 0; i < numPagos; i++) {
sumaAcumulada += valorPago;
acumulado.push(sumaAcumulada.toFixed(2));
}
// Mostrar resultados
console.log('Valor Futuro:', valorFuturo);
console.log('Número de Pagos:', numPagos);
console.log('Valor de Cada Pago:', valorPago);
console.log('Arreglo: ', JSON.stringify(acumulado))
// Mostrar resultados en el DOM
document.getElementById('result').innerHTML = `
<p>Valor Futuro: ${valorFuturo}</p>
<p>Valor de Cada Pago: ${valorPago}</p>
<p>Acumulado de Pagos: ${acumulado.join(', ')}</p>
`;
});