Comunidad de diseño web y desarrollo en internet online

elevar potencias

Citar            
MensajeEscrito el 17 Dic 2009 06:56 pm
Hola, Estoy intentando realizar esta formula con la que se calcula la cuota a pagar mensual de una hipoteca. Mediante un formulario se introduce el precio,el interes y plazo , que ya estan en una tabla adaptados a las unidades necesarias.

Cuota =precio * interes / 100 * (1-(1 +interes/100)-plazo)

Donde el problema lo tengo en que plazo es una potencia elevada.
Este es mi codigo a falta de hacer lo del plazo que no se como hacer el exponente.

Código PHP :

<?php 
                    
                    $precio= $_POST ['precio'];
                    $interes=$_POST ['interes'];
                                         $plazo= $_POST ['plazo'];
                                       
                                         
                                         function calcular($precio,$interes,$plazo){ 
                                         $cuota= $precio * $interes / 100 * (1-(1+$interes/100) - $plazo) ;
                                         echo $cuota; 
} 
      calcular($precio,$interes,$plazo)                              
                                 
                                         ?

Por pepito piscinas

106 de clabLevel



 

msie8
Citar            
MensajeEscrito el 17 Dic 2009 08:18 pm
La función para calcular potencias es pow():

Código PHP :

$resultado = pow($base,$exponente);

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 17 Dic 2009 08:35 pm
La función se llama Pow en PHP, buscala en php.net y tienes variables ejemplos de como usarla.

Saludos, Hernán . -

Por Hernán

BOFH

6148 de clabLevel

19 tutoriales
23 articulos

Genero:Masculino   REC Desarrollador de GAIA

Marketing & IT

firefox
Citar            
MensajeEscrito el 17 Dic 2009 10:52 pm
Ok gracias , he conseguido hacer que funcione de la siguiente manera, pero tengo dos pequeños errores que espero sean de facil solución:

1ºal darle al boton para que envie el formulario y haga la formula, una vez me da el resultado, se borran los valores de que habia en el formulario, se pueden mantener?En principo sin cambiar de página.


2ºEl resultado me aparece con 10 0 12 decimales, sepuede limitar a dos o 3?

3º cuando abro la página m eaparece este error donde esta el echo Warning: Division by zero in /home/xxxxxx/public_html/hipoteca.php on line 206


Mi codigo es este:

Código PHP :

<?php 
                    
                    $precio= $_POST ['precio'];
                    $interes=$_POST ['interes'];
                     $plazo= $_POST ['plazo'];
                   $base = (1+$interes/100);
                   $elevado= pow($base,$plazo);
                   $divisor=100 * (1-$elevado);   
                   
                  function calcular($precio,$interes,$plazo,$base,$elevado,$divisor){
                  
                  $cuota= $precio * $interes / $divisor ;
                     echo $cuota;
} 
      calcular($precio,$interes,$plazo,$base,$elevado,$divisor)                           
                                 ?>

Por pepito piscinas

106 de clabLevel



 

msie8
Citar            
MensajeEscrito el 18 Dic 2009 05:46 am
Para ajustar el valor de un float usa round(), puedes leer la ayuda en php.net para más detalles.

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 18 Dic 2009 06:33 am
Para tu primer error deberías usar Ajax o Jquery o algo así. Y para el tercer error es lo más obvio, estas dividiendo por cero, como sabrás es matematicamente incorrecto hacerlo.

Saludos, Hernán . -

Por Hernán

BOFH

6148 de clabLevel

19 tutoriales
23 articulos

Genero:Masculino   REC Desarrollador de GAIA

Marketing & IT

firefox
Citar            
MensajeEscrito el 18 Dic 2009 05:18 pm
Ok, ya lo tengo gracias le puse esto que me recomendo un amigo.

Código PHP :

$redondeo=number_format($cuota,2);
                     echo $redondeo;

Por pepito piscinas

106 de clabLevel



 

msie8
Citar            
MensajeEscrito el 18 Dic 2009 10:51 pm

Por DriverOp

Claber

2510 de clabLevel



 

opera

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.