贷款,按日拖欠款项的0.2%计算滞纳金

问题描述 投票:-1回答:1

我正在尝试计算0.02%的滞纳金,但是当第二期付款到达时,滞纳金将第二期加第一期的总费用加起来,现在用新的应计数字来计算每日费用。

示例

[第一期付款晚于第二期付款之前的5天:

fee=(arrears*5*0.002)  

已达到第二期付款,还欠了5天的贷款:

fee2=((instalment2+fee)*5*0.002))
php finance calculation
1个回答
0
投票

通常,利息使用复利公式(ararers *(1 + 0.002)^ 5),而不是单利公式(ararers * 5 * 0.002)。

无论如何,我编写了一段代码来演示如何做到这一点。

<?php
    function CalculateLoan($Value,$Days,$Fee){
        //Simple Interest
        return $Value + $Value*$Days*$Fee;
        //Compound interest
        //return $Value * pow(1+$Fee,$Days);
    }

    // Assuming 6 Instalments of $1000 every 5 days.
    $ArrayInstalments = array();
    $ArrayInstalments[0]= array("Value"=>1000,"PayDay"=>0);
    $ArrayInstalments[1]= array("Value"=>1000,"PayDay"=>5);
    $ArrayInstalments[2]= array("Value"=>1000,"PayDay"=>10);
    $ArrayInstalments[3]= array("Value"=>1000,"PayDay"=>15);
    $ArrayInstalments[4]= array("Value"=>1000,"PayDay"=>20);
    $ArrayInstalments[5]= array("Value"=>1000,"PayDay"=>25);


    // 30 days passed
    $CurrentDay = 30;

    // 0.2% fee/day
    $Fee = 0.002;

    // Initial Debit
    $Sum = 0;

    foreach ($ArrayInstalments as $key=>$Instalment){
        $ThisDebit = CalculateLoan($Instalment['Value'],max($CurrentDay-$Instalment['PayDay'],0),$Fee);
        echo 'Instalment:'.$key.' Debit:' . $ThisDebit . '<br/>';
        $Sum += $ThisDebit;
    }
    echo 'Total:' .$Sum.  '<br/>';
?>
© www.soinside.com 2019 - 2024. All rights reserved.