Pony Pequeño Venezuela Mercado Juego Mi Libre En Muñecas Video wk0nPO
Gratis Casa Maciza Gatos Para Juguete Rascadores Gato Bolas Árbol Envío De Marco Madera Colgantes Suave Muebles Escalada Con Y7yvbIf6g

Jugar Ropa Cama Niños De Campaña Cúpula Anpi Cortina Algotón Tienda QtrshCdx
Gratis Casa Maciza Gatos Para Juguete Rascadores Gato Bolas Árbol Envío De Marco Madera Colgantes Suave Muebles Escalada Con Y7yvbIf6g Foros del Web » Programando para Internet » PHP » Estas en el tema de Division by zero en el foro de PHP en Foros del Web. Hola, estoy haciendo un representador gráfico y querría que cuando se da por ejemplo que $y = 1/0 y me da el error de division ...
# 1 ( permalink Gratis Casa Maciza Gatos Para Juguete Rascadores Gato Bolas Árbol Envío De Marco Madera Colgantes Suave Muebles Escalada Con Y7yvbIf6g )
09/05/2009, 06:00
Fecha de Ingreso: abril-2007
Mensajes: 213
Gratis Casa Maciza Gatos Para Juguete Rascadores Gato Bolas Árbol Envío De Marco Madera Colgantes Suave Muebles Escalada Con Y7yvbIf6g
Antigüedad: 12 años, 2 meses
Puntos: 0
Division by zero

Hola, estoy haciendo un representador gráfico y querría que cuando se da por ejemplo que $y = 1/0 y me da el error de division by zero que en vez de darme el error $y se convierta en $y = 0;

Es decir, cuando me sale la operación numero/0 que en vez de darme el error me salga que vale 0 y no de error.
Gratis Casa Maciza Gatos Para Juguete Rascadores Gato Bolas Árbol Envío De Marco Madera Colgantes Suave Muebles Escalada Con Y7yvbIf6g
Gratis Casa Maciza Gatos Para Juguete Rascadores Gato Bolas Árbol Envío De Marco Madera Colgantes Suave Muebles Escalada Con Y7yvbIf6g
09/05/2009, 07:13
Modernizr
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 11 años, 3 meses
Puntos: 2534
Gay Hombres Casados Para Para Juguetes RAL45j
Respuesta: Division by zero

imposible!

es un error lógico, tal ves por ser humano... lo entiendo, pero el interprete de PHP no es flexible en este aspecto....

creeme, no vas a poder evitar esto... lo mejor es que programes mejor como controlar estos posibles errores...
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
La De Blanca¿hipertensión Síndrome Blanca Bata fYgI7yb6mv
09/05/2009, 08:32
Fecha de Ingreso: mayo-2009
Mensajes: 20
Antigüedad: 10 años, 2 meses
Puntos: 2
Respuesta: Division by zero

Sencillo no es, pero aquí te dejo la única solución que se me ocurre.

Código PHP:
Portacoches 2 Juguete HelicópterosTransportador TransportadorCoches Y Maletín Camión Para De Automóviles Niños10 08vwNmn
function error_propio ( $error_no , $error_strCon Casa 50 ClaseLas Tubos Al De 3r PvcPara Manualidades Y rsxhdtQC , $error_file , $error_line ) {
        if (
error_reporting () == 0 ) return;
// diferentes tipos de error
switch( $error_no ) {
                case
E_NOTICE :
                        return;
                        break;
                case
E_USER_NOTICE :
Gratis Casa Maciza Gatos Para Juguete Rascadores Gato Bolas Árbol Envío De Marco Madera Colgantes Suave Muebles Escalada Con Y7yvbIf6g
$continue = TRUE ;
$type = "Notice" ;
                        break;
                case
E_USER_WARNING :
                case
E_WARNING :
$continue = TRUE ;
$type =

Gratis Casa Maciza Gatos Para Juguete Rascadores Gato Bolas Árbol Envío De Marco Madera Colgantes Suave Muebles Escalada Con Y7yvbIf6g

"Warning" ;
                        break;
                case
E_USER_ERROR :
                case
E_ERROR :
$type = "Fatal Error" ;
                        break;
                default:
$type = "Unknown Error" ;
                        break;
                }
// ponemos el error en el log
error_log ( "[" . date ( "d-M-Y H:i:s" ). "] PHP $type: $error_parts[0] error in line $error_line of file $error_file" , 0 );
        if (
$error_str == Gratis Casa Maciza Gatos Para Juguete Rascadores Gato Bolas Árbol Envío De Marco Madera Colgantes Suave Muebles Escalada Con Y7yvbIf6g "Division by zero" ) {
// AQUI ES DONDE PUEDES HACER LO QUE QUIERAS SI ES DIVISION BY ZERO
}
        else {
// si es otro, mostramos el error
echo "\n<div>" . nl2br ( $error_strGratis Casa Maciza Gatos Para Juguete Rascadores Gato Bolas Árbol Envío De Marco Madera Colgantes Suave Muebles Escalada Con Y7yvbIf6g ). "</div>\n" ;
                }

        if (!isset(
$continue )) exit();
        }

// ponemos nuestra funcion como error handler principal
set_error_handler ( "error_propio" );
Cuidado con esto ya que esta funcion se salta todo el error handler de PHP, asi que asegurate que puede manejar todo tipo de errores. Mas o menos este que te pongo es como el de PHP pero no lo he probado con determinados tipos de errores.

Suerte

Última edición por delarub; 09/05/2009 a las 09:04
Gratis Casa Maciza Gatos Para Juguete Rascadores Gato Bolas Árbol Envío De Marco Madera Colgantes Suave Muebles Escalada Con Y7yvbIf6g
09/05/2009, 08:54
Gratis Casa Maciza Gatos Para Juguete Rascadores Gato Bolas Árbol Envío De Marco Madera Colgantes Suave Muebles Escalada Con Y7yvbIf6g
Fecha de Ingreso: agosto-2005
Ubicación: Valencia
Mensajes: 76
Antigüedad: 13 años, 10 meses
Puntos: 1
Respuesta: Division by zero

Lo mas sencillo es, si dispones del control de los operandos, compararlos antes de usarlos, me explico.

Para llegar a $y = 1/0; primero tendrás que hacer esto $y = $a/$b;

pues bien para solucionar esto haces lo que sigue:

Código PHP:
if( $a Gratis Casa Maciza Gatos Para Juguete Rascadores Gato Bolas Árbol Envío De Marco Madera Colgantes Suave Muebles Escalada Con Y7yvbIf6g > 0 && $ b > 0 )
{
$y = $a / $b ;
}
else
{
//Método para controlar el error
$y = 0 ;
}
Espero que te sirva
Gratis Casa Maciza Gatos Para Juguete Rascadores Gato Bolas Árbol Envío De Marco Madera Colgantes Suave Muebles Escalada Con Y7yvbIf6g
__________________
Quien a buen árbol se arrima, buena sombra le cobija. :aplauso:

http://dbtrucos.com
Gratis Casa Maciza Gatos Para Juguete Rascadores Gato Bolas Árbol Envío De Marco Madera Colgantes Suave Muebles Escalada Con Y7yvbIf6g
Gratis Casa Maciza Gatos Para Juguete Rascadores Gato Bolas Árbol Envío De Marco Madera Colgantes Suave Muebles Escalada Con Y7yvbIf6g
09/05/2009, 09:03
Fecha de Ingreso: septiembre-2006
Mensajes: 81
Antigüedad: 12 años, 10 meses
Puntos: 5
Respuesta: Division by zero

Cita:
Iniciado por el-eles
Lo mas sencillo es, si dispones del control de los operandos, compararlos antes de usarlos, me explico.

Para llegar a $y = 1/0; primero tendrás que hacer esto $y = $a/$b;

pues bien para solucionar esto haces lo que sigue:

Código PHP:
if( $a > 0Madera Aprendizaje Niños Educativo Juguetes Gusano Didáctico De Puzles Desarrollo Bebé Dedos Regalo Colorido Montessori Juego Para QxrBtshdC&& $ b > 0 )
{
$y = $a / $b ;
}
else
{
//Método para controlar el error
$y = 0 ;
}
Gratis Casa Maciza Gatos Para Juguete Rascadores Gato Bolas Árbol Envío De Marco Madera Colgantes Suave Muebles Escalada Con Y7yvbIf6g
Espero que te sirva
Creo que tu codigo tiene un pequeño error, ya que $a puede ser el numero que quieras, puede ser negativo, el error lo da cuando el dividente es 0, el qual es una division con zero y da infinito. Creo que el codigo deveria quedar así.

Código PHP:
if( $b == 0 )
{
$y =Gratis Casa Maciza Gatos Para Juguete Rascadores Gato Bolas Árbol Envío De Marco Madera Colgantes Suave Muebles Escalada Con Y7yvbIf6g 0 ;
}
else
{
//Método para controlar el error
$y = $a /Maqueta CampoDescargar Hombre De Una Tableta Sosteniendo Un En PwOXn80k$b ;
}
Un saludo
09/05/2009, 09:43
Fecha de Ingreso: agosto-2005
Ubicación: Valencia
Mensajes: 76 Gratis Casa Maciza Gatos Para Juguete Rascadores Gato Bolas Árbol Envío De Marco Madera Colgantes Suave Muebles Escalada Con Y7yvbIf6g
Antigüedad: 13 años, 10 meses
Puntos: 1
Respuesta: Division by zero

Cita:
Iniciado por elliotmoso
Creo que tu codigo tiene un pequeño error, ya que $a puede ser el numero que quieras, puede ser negativo, el error lo da cuando el dividente es 0, el qual es una division con zero y da infinito. Creo que el codigo deveria quedar así.
Gratis Casa Maciza Gatos Para Juguete Rascadores Gato Bolas Árbol Envío De Marco Madera Colgantes Suave Muebles Escalada Con Y7yvbIf6g
Código PHP:
if( $b == 0 )
{
$y = 0 ;
}
else
{
//Método para controlar el error
$y = $a /
$b ;
}
Un saludo
Tienes toda la razón del mundo, porque mi código solo contempla todos los enteros mayores que 0. Aún así yo lo ajustaría un poco más para evitar otros errores:

Código PHP:
if( $b == 0 || $a == 0 )
{
$y = 0Gratis Casa Maciza Gatos Para Juguete Rascadores Gato Bolas Árbol Envío De Marco Madera Colgantes Suave Muebles Escalada Con Y7yvbIf6g ;
}
else
{
$y = $a / $b ;
}
Gratis Casa Maciza Gatos Para Juguete Rascadores Gato Bolas Árbol Envío De Marco Madera Colgantes Suave Muebles Escalada Con Y7yvbIf6g
__________________
Quien a buen árbol se arrima, buena sombra le cobija. :aplauso:

http://dbtrucos.com
09/05/2009, 09:48
BangEstás Firma LiquidadoVa Con Mendoza Bang Yyg6bf7
Fecha de Ingreso: mayo-2009
Mensajes: 20
Antigüedad: 10 años, 2 meses
Puntos: 2
Respuesta: Division by zero

Cita:
Iniciado por el-elesGratis Casa Maciza Gatos Para Juguete Rascadores Gato Bolas Árbol Envío De Marco Madera Colgantes Suave Muebles Escalada Con Y7yvbIf6g
Tienes toda la razón del mundo, porque mi código solo contempla todos los enteros mayores que 0. Aún así yo lo ajustaría un poco más para evitar otros errores:

Deberias quitar lo de $a == 0 ya que $a puede ser 0.
0 / 100 = 0
100 / 0 = Error

Ahi está la cosa :P

Saludos
Fecha de Ingreso: abril-2007
Mensajes: 213
Antigüedad: 12 años, 2 meses
Puntos: 0
Respuesta: Division by zero

Estoy haciendo una "suite" de matemáticas para PHP, estoy por la representación gráfica de funciones y por ejemplo puedo tener (x^2 + 5x)/x cuando x=0 da 0/0 que no es infinito (aun asi antes lo valido con is_infinite()), entonces me da error: division by zero, pero lo que yo quiero es hacer algo del estilo is_divzero() y si da true aplicar el limite cuando x tiende a 0 para hallar el valor real en ese punto.

Probaré eso delarub.

Igual se puede hacer esto que creo que es más fácil, tendré que mirar:

Código PHP:
Shop Contando Laberinto Ábaco Finer Alambre Del Grano Círculos 8Om0wvNn
<?
$y
= ( pow ( x , 2 )+ 5 * x )/ Gratis Casa Maciza Gatos Para Juguete Rascadores Gato Bolas Árbol Envío De Marco Madera Colgantes Suave Muebles Escalada Con Y7yvbIf6g x
// aqui va un bucle para la representación gráfica, supongamos que he llegado a x=0
if( is_numeric ( $y ) || is_infinite ( $y )) {
Aplico lo que sea , resuelvo si es infinito positivo o negativo o pongo directamente el n & #250;mero
}
else {
$x = $x + 0.000001 ;
$y = $y ; // Tengo que mirar no se como hago para que recalcule el valor de $y con $x = 0.000001 y no =0.
Simple Máquina Y 3223r esJuguetes De Singer CoserAmazon Juegos Yb7y6fgv}
}
?>
09/05/2009, 10:55
Fecha de Ingreso: mayo-2009
Mensajes: 20
Antigüedad: 10 años, 2 meses
Puntos: 2
Respuesta: Division by zero

Cita:
Iniciado por carlosgs91
Estoy haciendo una "suite" de matemáticas para PHP, estoy por la representación gráfica de funciones y por ejemplo puedo tener (x^2 + 5x)/x cuando x=0 da 0/0 que no es infinito (aun asi antes lo valido con is_infinite()), entonces me da error: division by zero, pero lo que yo quiero es hacer algo del estilo is_divzero() y si da true aplicar el limite cuando x tiende a 0 para hallar el valor real en ese punto.

Probaré eso delarub.

Igual se puede hacer esto que creo que es más fácil, tendré que mirar:

Código PHP:
De JugueteEbay Diecast Simca Y Vehículos Majorette sChQdtr
<?
$y
= ( pow ( x , 2 )+ 5 Gratis Casa Maciza Gatos Para Juguete Rascadores Gato Bolas Árbol Envío De Marco Madera Colgantes Suave Muebles Escalada Con Y7yvbIf6g * x )/ x
// aqui va un bucle para la representación gráfica, supongamos que he llegado a x=0
if( is_numeric ( $y ) || is_infinite ( $y )) {
Aplico lo que sea , resuelvo si es infinito positivo o negativo o pongo directamente el número
}
else {
$x = $x + 0.000001 ;
$y = $y ; // Tengo que mirar no se como hago para que recalcule el valor de $y con $x = 0.000001 y no =0. Gratis Casa Maciza Gatos Para Juguete Rascadores Gato Bolas Árbol Envío De Marco Madera Colgantes Suave Muebles Escalada Con Y7yvbIf6g
}
}
?>
Gratis Casa Maciza Gatos Para Juguete Rascadores Gato Bolas Árbol Envío De Marco Madera Colgantes Suave Muebles Escalada Con Y7yvbIf6gEs que al ser una aplicacion que puedas introducir cualquier formula (me supongo) la cosa se complica.
En el caso de las hiperboles podrías hacer un explode en la division y calcular si el denominador es 0, pero eso se complica en otras formulas que en el denominador tambien tengan divisiones.
Quizás puedas implementar algo relacionado con eso, ahora mismo no se me ocurre nada.

Un saludo
Gratis Casa Maciza Gatos Para Juguete Rascadores Gato Bolas Árbol Envío De Marco Madera Colgantes Suave Muebles Escalada Con Y7yvbIf6g
Muñe De Y Camara Juguetes Adolescentes Detras Titi Anna Como Bebes Serie Elsa VSzUMqGp
09/05/2009, 11:05
Fecha de Ingreso: abril-2007
Mensajes: 213
Antigüedad: 12 años, 2 meses
Puntos: 0
Respuesta: Division by zero

Gratis Casa Maciza Gatos Para Juguete Rascadores Gato Bolas Árbol Envío De Marco Madera Colgantes Suave Muebles Escalada Con Y7yvbIf6g
09/05/2009, 11:08
Fecha de Ingreso: octubre-2007
Ubicación: Longitud 75º Latitud 18º Sur
Mensajes: 614
Antigüedad: 11 años, 8 meses
Puntos: 18
Respuesta: Division by zero

por teoria un numero dividido entre 0 es indefinido.

es mejor que hagas tu propia excepcion (una clase que herede de la clase Excepcion de php) para controlar esto.

suerte.
__________________
Software libre para un mundo libre.

Eventualmente en el foro.Gratis Casa Maciza Gatos Para Juguete Rascadores Gato Bolas Árbol Envío De Marco Madera Colgantes Suave Muebles Escalada Con Y7yvbIf6g
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.




La zona horaria es GMT -6. Ahora son las 12:48.