Skip to content

Instantly share code, notes, and snippets.

@Nick-Gabe
Last active April 12, 2024 13:00
Show Gist options
  • Save Nick-Gabe/46bd96f503c2865781f3358f4fe971a3 to your computer and use it in GitHub Desktop.
Save Nick-Gabe/46bd96f503c2865781f3358f4fe971a3 to your computer and use it in GitHub Desktop.
function calcularRendaInvestindoParcelas(valor, meses, incluirIOF = true) {
const CDI = 13;
let rendimento = 0;
for(let index = 0; index < meses; index++) {
const saldoRestante = valor - valor / meses * index;
const porcentagemRendaMensal = CDI / 100 / 12;
rendimento += (saldoRestante + rendimento) * porcentagemRendaMensal;
if(index === 0 && incluirIOF) {
// IOF no primeiro mês
rendimento *= 0.5;
}
}
return rendimento;
}
function compararParcelarComAVista({ valorAVista, valorParcelado, mesesParcela }) {
const rendaParcelas = calcularRendaInvestindoParcelas(valorParcelado, mesesParcela);
const totalValorParcelado = valorParcelado - rendaParcelas;
const parcelarCompensa = totalValorParcelado < valorAVista;
if (parcelarCompensa) {
console.log(
'Vale mais a pena pagar parcelado, investindo\n'+
'o valor das parcelas e ir sacando todo mês\n'+
'para pagar. (Considerando CDI de 13% ao ano)'
);
} else {
console.log(`Vale mais a pena pagar à vista`);
}
const diferencaCusto = Math.abs(totalValorParcelado - valorAVista);
console.log('-'.repeat(50));
console.log(`Valor à vista: ${valorAVista.toFixed(2)}`);
console.log(`Valor parcelado: ${totalValorParcelado.toFixed(2)}`);
console.log(`Você vai economizar ${diferencaCusto.toFixed(2)} reais`);
}
compararParcelarComAVista({
valorAVista: 2700,
valorParcelado: 2850,
mesesParcela: 12
})
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment