1

住宅ローン計算機能を見つけました:

function calculatePayment($price, $down, $term)
{
$loan = $price - $down;
$rate = (2.5/100) / 12;
$month = $term * 12;
$payment = floor(($loan*$rate/(1-pow(1+$rate,(-1*$month))))*100)/100;
return $payment;
}

だから私がするなら:

calculatePayment(200000,0,25)

それは私に897.23ドルを返します。

問題は、BMO Bank や duproprio.com の電卓と比較すると、他の 2 つのサイトのように機能が正確に機能していないように見えることです。結果は 895.93 ドルです。

誰かがなぜそれが良い金額を返さないのかを理解するのを手伝ってもらえますか?

どうもありがとう

4

3 に答える 3

3

http://www.secureapp.com/tools/mortgage.htmlの残高計算部分をPHP 関数に変換し (頭金変数も追加しました)、使用例を示します。

$principal = 684000; //Mortgage Amount 
$interest_rate = 2.89; //Interest Rate %
$down = $principal *0.10; //10% down payment
$years = 25;
$months = 0;
$compound = 2; //compound is always set to 2
$frequency = 12; //Number of months (Monthly (12), Semi-Monthly (24), Bi-Weekly(26) and Weekly(52) 

function calcPay($MORTGAGE, $AMORTYEARS, $AMORTMONTHS, $INRATE, $COMPOUND, $FREQ, $DOWN){
$MORTGAGE = $MORTGAGE - $DOWN;
$compound = $COMPOUND/12;
$monTime = ($AMORTYEARS * 12) + (1 * $AMORTMONTHS);
$RATE = ($INRATE*1.0)/100;
$yrRate = $RATE/$COMPOUND;
$rdefine = pow((1.0 + $yrRate),$compound)-1.0;
$PAYMENT = ($MORTGAGE*$rdefine * (pow((1.0 + $rdefine),$monTime))) / ((pow((1.0 + $rdefine),$monTime)) - 1.0);
if($FREQ==12){
    return $PAYMENT;}
if($FREQ==26){
    return $PAYMENT/2.0;}
if($FREQ==52){
    return $PAYMENT/4.0;}
if($FREQ==24){
    $compound2 = $COMPOUND/$FREQ;
    $monTime2 = ($AMORTYEARS * $FREQ) + ($AMORTMONTHS * 2);
    $rdefine2 = pow((1.0 + $yrRate),$compound2)-1.0;
    $PAYMENT2 = ($MORTGAGE*$rdefine2 * (pow((1.0 + $rdefine2),$monTime2)))/  ((pow((1.0 + $rdefine2),$monTime2)) - 1.0);
    return $PAYMENT2;
}
}

$payment = calcPay($principal, $years, $months, $interest_rate, $compound, $frequency, $down);
于 2013-10-23T15:02:14.193 に答える
0

あなたの計算は大丈夫です - この住宅ローン計算機を参照してください: http://aprc.eu/index.php?page=APR-loan-calculator

あなたの結果と引用された銀行計算機の違いは、異なる仮定に由来します. 使用する式は、月末の毎月の支払い用です。支払いが月の初めに行われる場合、イテレストが低くなるため、支払いも低くなる可能性があります。

于 2015-03-13T12:32:52.363 に答える