最近做項目碰到了等額本金和等額本息的問題,若您不瞭解這兩種方式 點這裡看 否則直接跳過看代碼,此代碼也可以用於房貸計算機項目的開發。
等額本息計算公式:〔貸款本金×月利率×(1+月利率)^還款月數〕÷〔(1+月利率)^還款月數-1〕
等額本金計算公式:每月還款金額 = (貸款本金 ÷ 還款月數)+(本金 — 已歸還本金累計額)×每月利率
其中^符號表示乘方。
舉例說明
假設以10000元為本金、在銀行貸款10年、基準利率是6.65%,比較下兩種貸款方式的差異:
等額本息還款法
月利率=年利率÷12=0.0665÷12=0.005541667
月還款本息=〔10000×0.005541667×(1+0.005541667)^120〕÷〔(1+0.005541667)^120-1〕=114.3127元
合計還款 13717.52元
合計利息 3717.52萬元
181.4511278796992481203007518797 1.12502104984600E+271 1.005541667^120-1 0.9409241291
等額本金還款法 :
每月還款金額 = (貸款本金÷還款月數)+(本金 — 已歸還本金累計額)×每月利率
=(10000 ÷120)+(10000— 已歸還本金累計額)×0.005541667
首月還款 138.75元 每月遞減0.462元
合計還款 13352.71元
利息 3352.71元
等額本息
| 代碼如下 |
複製代碼 |
function debx() { $dkm = 240; //貸款月數,20年就是240個月 $dkTotal = 10000; //貸款總額 $dknl = 0.0515; //貸款年利率 $emTotal = $dkTotal * $dknl / 12 * pow(1 + $dknl / 12, $dkm) / (pow(1 + $dknl / 12, $dkm) - 1); //每月還款金額 $lxTotal = 0; //總利息 for ($i = 0; $i < $dkm; $i++) { $lx = $dkTotal * $dknl / 12; //每月還款利息 $em = $emTotal - $lx; //每月還款本金 echo "第" . ($i + 1) . "期", " 本金:", $em, " 利息:" . $lx, " 總額:" . $emTotal, "<br />"; $dkTotal = $dkTotal - $em; $lxTotal = $lxTotal + $lx; } echo "總利息:" . $lxTotal; } |
等額本金
| 代碼如下 |
複製代碼 |
function debj() { $dkm = 240; //貸款月數,20年就是240個月 $dkTotal = 10000; //貸款總額 $dknl = 0.0515; //貸款年利率 $em = $dkTotal / $dkm; //每個月還款本金 $lxTotal = 0; //總利息 for ($i = 0; $i < $dkm; $i++) { $lx = $dkTotal * $dknl / 12; //每月還款利息 echo "第" . ($i + 1) . "期", " 本金:", $em, " 利息:" . $lx, " 總額:" . ($em + $lx), "<br />"; $dkTotal -= $em; $lxTotal = $lxTotal + $lx; } echo "總利息:" . $lxTotal; } |