2011-12-05 7 views
10

estoy trabajando en una calculadora de préstamo simple, tan simple que ni siquiera funciona correctamente.calculadora de hipotecas en php cantidad incorrecta

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

esta salida: 666,36

que sería grande si se pagará la totalidad del préstamo mensual es esto (no que es el número 666, pero bajo número hahah), mi problema es que esto sea más alto.

¿por qué me sale esto?

+0

lo que el valor debe ser excusa mi pregunta: $ – Sedz

+1

debe estar alrededor de 950 más o menos, el paréntesis se echa en falta en torno a los $ préstamo y 1-pow - [prioridad de operación] (http://en.wikipedia.org/wiki/Order_of_operations) –

Respuesta

11

Acabo de añadir puse (1-pow (1 + $ tasa, (- 1 * $ mes))) esto porque lo que está sucediendo aquí es que $ préstamo * Tasa de $ se dividirá en 1 sólo entonces continuar

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

la respuesta es 954.83

+0

Mi luz está rota, no puedo ver el teclado correctamente, así que fue una breve explicación – Sedz

+0

veo la diferencia gracias – Adam

+0

debajo de las teclas de voto hay Swoosh o el botón derecho, haga clic en él – Sedz

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

Cuestiones relacionadas