Jump to content
Fórum Script Brasil
  • 0

Funções Financeiras


itibere
 Share

Question

Olá, estou desenvolvendo um a função calculo de valor apos um tempo, mas eu estou com dificludade na sequinte expressão:

M=Vi*(1+taxa)^n, onde:

M=Montante;

Vi=Valor Inicial;

Taxa=Taxa de juros praticada no periodo;

n=perioldo em dias;

Abaixo ta parte do codigo que gera os valores para a expressão.

function calcDifDatas($strIni){
    $dataFinal=date("Y-m-d");
    $dataInicial=$strIni;
        // ---------------     efetua os calculos de data ------------------
        $anoDe=substr($dataInicial,0,4);
        $mesDe=substr($dataInicial,5,2);
        $diaDe=substr($dataInicial,8,2);
        $dataUnixDe=mktime(0, 0, 0, $mesDe,$diaDe, $anoDe);
        $anoAte=substr($dataFinal,0,4);
        $mesAte=substr($dataFinal,5,2);
        $diaAte=substr($dataFinal,8,2);
        $dataUnixAte=mktime(0, 0, 0, $mesAte,$diaAte, $anoAte);
        $diferença=ceil(($dataUnixAte-$dataUnixDe)/86400)+1;
        return $diferença;
    }
.
.
.

   while($rowTitulos=mysql_fetch_array($resTtitulos)){
           $fildValor= intval($rowTitulos['valor']);
        $dif = calcDifDatas($fildDtaVencimento);
        $valorPlus=$fildValor*((1+0.033)^$dif);
}
echo $valorPlus;

Onde pode estar o erro?

Link to comment
Share on other sites

2 answers to this question

Recommended Posts

  • 0

cade a função que você utiliza isso

M=Vi*(1+taxa)^n, onde:

M=Montante;

Vi=Valor Inicial;

Taxa=Taxa de juros praticada no periodo;

até agora você não uso nada... e o que a função ta retorndando pra você? ta dando erro?

Link to comment
Share on other sites

  • 0

Desculpe, posso ter me espressado de forma incorreta, a funcão aqui é matematica ou melhor dizendo é uma expressão matematica(m=Vi*(1+.033)^n),

e não uma função escrita em php, e valor retonado era totalemte errado, mas isso eu já corrigi, tinha um parenteses a mais $valorPlus=$fildValor*((1+0.033)^$dif).

Só apareceu outro problema, na base de dados o campo que quarda o valor esta como "Varchar", quado eu recupero esse campo eu isso a função intval(), para comverter em inteiro, so que ta perdendo a parte decimal, ou seja eu tenho que converter para "flot", mas não achei como fazer.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Forum Statistics

    • Total Topics
      149.8k
    • Total Posts
      646.6k
×
×
  • Create New...