Warning: Division by zero in
Alberto Rivera
rivera.alberto en gmail.com
Jue Dic 21 08:42:33 CLST 2006
Javier A. Jimenez (Zykboss) escribió:
> Alberto Rivera wrote:
>> Cristian Rodriguez escribió:
>>> 2006/12/20, Alberto Rivera <rivera.alberto en gmail.com>:
>>>> 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);
>>>>
>>>
>>> $numerohoras en algun momento es 0.,.. intenta con un depurador como
>>> xDebug y revisa la precedencia de las operaciones matematicas en el
>>> manual de PHP.net
>> si gracias, eso es puh en realidad es $numerohoras pero no entiendo
>> porque sale el warning si cualquier numero que esté dividido por cero
>> es cero nomas .... o debo revisar alguna otra cosa ????
>>
>> salu2
>>>
>>>
>>
>>
>
> No, la división por 0 NO es 0, es indefinido... Como ya te dijeron, en
> alguna parte estas dividiendo por cero (y por el obvio warning), una
> forma cochina de saltarselo, es poniendo una arroba al definir la
> variable (esto no detiene el proceso, sino que, no muestra el warning)...
>
> @$totalhorasextra50=round(((($sueldobase/30)*7)/$numerohoras)*1.5);
a que buena gracias esta super buena lo voy a probar altirante... aunque
creo que le voy a hacer un if en caso de que ingrese en 0 que sea 0
nomás y no tenga la posibilidad del indefinido, ah y gracias por la
aclaración de la división por 0, tienes razón pero a uno se le van
olvidando las cosas ...
salu2 y gracias again
> ...
>
Más información sobre la lista de distribución PHP