2011-12-05 36 views
10

tôi đang làm việc trên một máy tính cho vay đơn giản, đơn giản đến nỗi nó thậm chí không hoạt động bình thường.máy tính thế chấp trong số tiền sai số 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); 

sản lượng này: 666,36

đó sẽ là tuyệt vời nếu các payement vay hàng tháng là thế này (không phải đó là số 666, nhưng số thấp hahah), vấn đề của tôi là thế này cao hơn.

tại sao tôi nhận được điều này?

+0

những gì giá trị nên cớ câu hỏi của tôi: $ – Sedz

+1

nên có khoảng 950 hoặc lâu hơn, ngoặc đang thiếu khoảng $ vay và 1-pow - [ưu tiên của hoạt động] (http://en.wikipedia.org/wiki/Order_of_operations) –

Trả lời

11

Tôi vừa thêm vào (1-pow (1 + $ rate, (- 1 * $ month))) vì điều đang xảy ra ở đây là $ vay * $ rate sẽ được chia cho 1 chỉ sau đó tiếp tục

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

câu trả lời là 954.83

+0

ánh sáng của tôi bị hỏng tôi không thể nhìn thấy bàn phím chính xác vì vậy nó là một lời giải thích ngắn – Sedz

+0

tôi thấy sự khác biệt nhờ – Adam

+0

theo các phím bỏ phiếu có Swoosh hoặc nút phải bấm vào nó – Sedz

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

Các vấn đề liên quan