IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Se débarrasser du warning : division par zéro


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Ingénieur Développement
    Inscrit en
    Juin 2006
    Messages
    140
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur Développement

    Informations forums :
    Inscription : Juin 2006
    Messages : 140
    Points : 58
    Points
    58
    Par défaut Se débarrasser du warning : division par zéro
    bonjour je suis dénutant en programmation
    Après avoir fait mes équations à la main. voiçi la fin d'un code incomplet qui va me calcluler des coordonnées en faisant l'intersection de trois cercles....
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    class cercle {
    	var $x;
    	var $y;
    	var $r;
    	     };
    $cercle0 = new cercle;
    $cercle1 = new cercle;
    $cercle2 = new cercle;
     
    $N0 = (($cercle1->r)^2-($cercle0->r)^2-($cercle1->x)^2+($cercle0->x)^2-($cercle1->y)^2+($cercle0->y)^2)/(2*($cercle0->y-$cercle1-y));
     
    $N1 = (($cercle2->r)^2-($cercle1->r)^2-($cercle2->x)^2+($cercle1->x)^2-($cercle2->y)^2+($cercle1->y)^2)/(2*($cercle1->y-$cercle2-y));
     
    echo "coordonnées (xp,yp) de la borne pirate";
     
    $xp = ($N1-$N0)*($cercle0->y-$cercle1->y)*($cercle1->y-$cercle2->y)/(($cercle1->x-$cercle0->x)*($cercle1->y-$cercle2->y)+($cercle1->x-$cercle2->x)*($cercle0->y-$cercle1->y));
    echo "$xp= ";
     
    $yp = (($N1-$N0)*($cercle1->x-$cercle0->x)*($cercle1->y-$cercle2->y)/(($cercle1->x-$cercle0->x)*($cercle1->y-$cercle2->y)+($cercle1->x-$cercle2->x)*($cercle0->y-$cercle1->y)))+$N0;
    echo "$yp= ";
    Je sais que je fais des divisions mais ceci est juste donc comment je peux faire pour qu'il ne m'affiche plus les warning divisions par zéro?
    Merci pour votre aide

  2. #2
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 333
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 333
    Points : 15 677
    Points
    15 677
    Par défaut
    il suffit de tester avant la division si ton dénominateur n'est pas nul

  3. #3
    Membre éclairé
    Avatar de genova
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 487
    Points : 790
    Points
    790
    Par défaut
    Ya plusieurs solutions :
    - Vérifier que le dénominateur est différent de 0 avant de lancer le calcul
    - Attraper l'erreur (try ... catch)
    - Masquer l'erreur avec @ comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $yp = @ (($N1-$N0)*($cercle1->x-$cercle0->x)*($cercle1->y-$cercle2->y)/(($cercle1->x-$cercle0->x)*($cercle1->y-$cercle2->y)+($cercle1->x-$cercle2->x)*($cercle0->y-$cercle1->y)))+$N0;

  4. #4
    Membre du Club
    Profil pro
    Ingénieur Développement
    Inscrit en
    Juin 2006
    Messages
    140
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur Développement

    Informations forums :
    Inscription : Juin 2006
    Messages : 140
    Points : 58
    Points
    58
    Par défaut
    Merci les gars
    que je suis bête

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Division par zéro
    Par soltani1 dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 18/05/2006, 09h42
  2. [Tableaux] Pb de division par zéro...
    Par blueice dans le forum Langage
    Réponses: 8
    Dernier message: 16/12/2005, 15h52
  3. [CR][VS.NET]Division par zéro
    Par San Soussy dans le forum SDK
    Réponses: 2
    Dernier message: 31/08/2005, 14h40
  4. [CR8.5] Problème de division par zéro sur formule
    Par franck.cvitrans dans le forum Formules
    Réponses: 3
    Dernier message: 10/06/2004, 13h41
  5. probleme avec une division par zéro
    Par jcharleszoxi dans le forum Langage SQL
    Réponses: 2
    Dernier message: 26/03/2003, 18h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo