CALCULAR JUROS AO MES

IRENKO 16/09/2014 21:45:07
#441274
Pessoal, tenho uma fatura com vencimento em 15/08/2014 no valor de 500,00 reais, essa fatura esta vencida a 1 mes baseado na data de hoje.

Como fazer uma função para calcular juros de 1% ao mês acumulando os juros aos meses subsequentes caso tambem vencidos?
ESLEYSANCHES 16/09/2014 22:32:14
#441277
Poxa, precisei fazer isso semana passada. Dê uma olhada no código. Ainda está fresquinho!
O código está em C#

//-----------------------------------------------------
// Variaveis utilizadas
//-----------------------------------------------------
decimal Valor_inicial = Convert.ToDecimal([Ô]500[Ô]); // Valor total inicial sem juros
decimal Juros = Convert.ToDecimal([Ô]1[Ô]); // Quantidade de juros em %
int Periodo = Convert.ToInt32([Ô]1[Ô]); // Quantidade de meses
decimal Total_geral = 0; // Apenas variavel com calculo final completo

//-----------------------------------------------------
// Faz os cálculos
//-----------------------------------------------------
Total_geral = (Juros * Valor_inicial / 100) + Valor_inicial;
Periodo--;
// O código acima é uma simplificação de: Periodo = Periodo - 1;

for (int i = 0; i < Periodo; i++)
{
Total_geral = Total_geral + (Juros * Valor_inicial / 100);
Valor_inicial = Total_geral;
}


O legal desse for é que você pode mostrar individualmente os valores com juros compostos se somando dentro do período caso seja necessário.

Veja se te ajuda!
Abraços
Esley
MARCELO.TREZE 17/09/2014 00:14:22
#441289
Resposta escolhida
vamos lá irenko, olha é com datediff e uma matematica simples que se faz isso

um exemplo simples pra você adaptar

atraso = DateDiff([Ô]m[Ô], datavencimento, dataatual)
juros = atraso * (valordafatura * 0.01)
totaldafaturacomjuros = valordafatura + juros





IRENKO 17/09/2014 11:12:31
#441294
Marcelo, ficou perfeito! Esse DataDiff resolve quase tudo com datas. Eu só tenho uma dúvida:

e se após 30 dias mais 10%? Veja bem esse percentual cobrado uma uinica vez apos 30 dias do vencimento.
MARCELO.TREZE 17/09/2014 21:34:31
#441306
assim

atraso = DateDiff([Ô]m[Ô], datavencimento, dataatual)
juros = atraso * (valordafatura * 0.01)
totaldafaturacomjuros = valordafatura + juros + [txt-color=#0000f0](IIF(DateDiff([Ô]d[Ô],datavencimento,dataatual) >30 ,(valordafatura * 0.10), 0)[/txt-color]

ou você pode colocar em uma variavel a parte

o codigo seria este

diasematraso = DateDiff([Ô]d[Ô],datavencimento,dataatual)
if diasematraso > 30 then
multa= valordafatura * 0.10
end if

IRENKO 18/09/2014 16:18:51
#441340
Grande Marcelo, mais uma vez obrigado por mostrar o caminho da solução. Esse exemplo do DataDiff, para mim foi um aprendizado pois não sabia bem como manipula-lo. Valeu! Vou encerrar.
Tópico encerrado , respostas não são mais permitidas