2011-12-05 14 views
10

私は単純なローン計算機で作業しているので、それは正常に動作していないことも簡単です。mortage calculator in php間違った金額

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

echo calculatePayment(200000,0,30); 

この出力:毎月のローンpayementがこのであれば素晴らしいだろう666.36

(つまり、666番号が、低い数字HAHAHありません)、私の問題は、これが高いことです。

なぜ私はこれを取得していますか?

+0

です:$ – Sedz

+1

は周りの950程度になり、括弧は$ローンと1-POWの周りに欠けている - [優先順位操作](http://en.wikipedia.org/wiki/Order_of_operations) –

答えて

11

ここで起こっていることは、$ loan * $レートが1で除算され、次に続行されるためです。

これはput(1-pow(1 + $ rate、
function calculatePayment($price, $down, $term) 
{ 
$loan = $price - $down; 
$rate = (4/100)/12; 
$month = $term * 12; 
$payment = floor(($loan*$rate/(1-pow(1+$rate,(-1*$month))))*100)/100; 
return $payment; 
} 

echo calculatePayment(200000,0,30); 

答えは価値が私の質問 言い訳がどうあるべきか954.83

+0

私のライトが壊れているキーボードが正しく表示されないので、短い説明だった – Sedz

+0

私は差があるのを見る – Adam

+0

投票キーの下にSwooshまたは右ボタンがあります – Sedz

2
 
$payment = floor(($loan*$rate/1-(pow(1+$rate,(-1*$month))))*100)/100; 

関連する問題