2011-12-05 15 views
10

ölümlü bir hesap makinesi basit bir kredi hesap makinesi üzerinde çalışıyorum, bu yüzden düzgün çalışmıyor bile çok basit.php yanlış miktarda

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); 

bu çıkışı: 666,36

aylık kredi payement bu ise çok iyi olurdu (değil 666 numara ancak düşük sayı hahah olan), sorunum bu yüksek olduğunu.

Neden bunu alıyorum?

Sadece koymak ekledi
+0

geçerli: $ – Sedz

+1

yaklaşık 950 ya da öylesine, parantez $ kredi ve 1-pow etrafında eksik olmalı - [önceliği işlem] (http://en.wikipedia.org/wiki/Order_of_operations) –

cevap

11

(1-pow (1 + $ oranı (- 1 * $ ay))) burada ne oluyor ki $ kredi * $ oran on 1 bölünecek çünkü bu ancak ardından devam

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); 

cevap değeri sorum bahane ne olması gerektiğini 954.83

+0

Benim ışığım bozuk klavye doğru göremiyorum bu yüzden kısa bir açıklama oldu – Sedz

+0

Farkı görüyorum – Adam

+0

oy anahtarlar altında Swoosh veya sağ tuşa tıklayın – Sedz

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

İlgili konular