Warning: Division by zero in

Javier Valenzuela jvalenzuela en tecnova.cl
Mie Dic 20 16:46:07 CLST 2006


Alberto Rivera wrote:
> Hola señores necesito molestar una vez más ya que no nuevamente no sé 
> por donde va la micro. Tengo el siguiente error:
>
> *Warning*: Division by zero in 
> */var/www/remunera1.3/includes/proctmpmes/consultas3.php* on line *95*
>
> *Warning*: Division by zero in 
> */var/www/remunera1.3/includes/proctmpmes/consultas3.php* on line *96
>
> los cuales se repiten indefinidamente ...
>
> *esas líneas corresponden a la siguiente operación:
>
>   $totalhorasextra50=round(((($sueldobase/30)*7)/$numerohoras)*1.5);
>   $totalhorasextra100=round(((($sueldobase/30)*7)/$numerohoras)*2);
>
> lo extraño de esto es que si le hago "echo $sueldobase" ó "echo 
> $numerohoras" me entrega los valores sin problemas, incluso si hago un 
> "echo $totalhorasextra50" también me entrega de buena forma calculado 
> y todo... esta consulta está dentro de un ciclo que se los anoto ahora 
> para que lo vean completo, haber si pueden ayudarme:
>
>     $sueldobaseing=$columna["sueldobase"];
>    $complementarias=$columna["cantidadhorascomp"];
>
>     if($tipocontrato != '4') {
>           $numerohoras=$complementarias;
>           $sueldobase=($sueldobaseing);
>           
> $totalhorasextra50=round(((($sueldobase/30)*7)/$numerohoras)*1.5);
>           
> $totalhorasextra100=round(((($sueldobase/30)*7)/$numerohoras)*2);
>           $reshe50=($he50*$totalhorasextra50);
>           $reshe100=($he100*$totalhorasextra100);
>           $totalhorasextra=($reshe50+$reshe100);
> } else {
>    $numerohoras=($basica+$media+$utp+$complementarias);
>    $sueldobase=($sueldobaseing+$sueldobaseprof);
>    
> $totalhorasextra50=round(((($sueldobase/30)*7)/$numerohoras)*1.5);           
>
>    
> $totalhorasextra100=round(((($sueldobase/30)*7)/$numerohoras)*2);            
>
>    $totalhorasextra=($reshe50+$reshe100);  }
>
>
> ojalá me puedan ayudar
>
> salu2
Como no se el numero de lineas de tu programa, esta claro que divides 
por cero en algun momento, podrias hacer un "if" para que no entre 
cuando sea cero y listo...
Mi mejo depurador son los print y echo's XD!


Más información sobre la lista de distribución PHP