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 :

Fonction DoubleVal et comparaisons de valeurs [Fait]


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 92
    Points : 52
    Points
    52
    Par défaut Fonction DoubleVal et comparaisons de valeurs
    Bonjour.

    Pour mes tests d'égalité je fait toujours de "===" afin d'effectuer mes comparaisons en valeurs et en type.

    J'ai un problème quand je fait des tests de ce type :

    IF (!doubleval($oLocal_RowRefuge['SUPERFICIE'])===0)

    car cela me retourne FALSE même si le champ SUPERFICIE contient zéro

    Si je ne met que 2 égal cela fonctionne.
    Ex :
    IF (!doubleval($oLocal_RowRefuge['SUPERFICIE'])==0)

    marche bien et retourne TRUE

    Comment cela se fait t-il.
    Est-ce à cause de ma comparaison avec une valeur constante zéro.
    Puis-je indiquer que ce zéro doit être considéré comme un décimal ?

    Merci pour vos réponses.

  2. #2
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Pour convertir un entier en double, tu peux soit le transtyper avec (double) devant, soit simplement l'écrire comme un décimal.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    IF (!doubleval($oLocal_RowRefuge['SUPERFICIE']) === 0.0)

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 92
    Points : 52
    Points
    52
    Par défaut
    En fait IF (!doubleval($oLocal_RowRefuge['SUPERFICIE'])===0.00)
    retourne également FALSE si SUPERFICIE contient zéro.

    Je sais que je peux caster vers un double mais je ne comprends pas pourquoi cela ne marche pas avec doubleval.

  4. #4
    Membre régulier Avatar de Grepsd
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2008
    Messages
    96
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Octobre 2008
    Messages : 96
    Points : 119
    Points
    119
    Par défaut
    Bonjour,

    http://fr.php.net/manual/en/function.floatval.php

    La réponse est là, la fonction doubleval() retourne un float(double), mais toi, tu as préfixée cette fonction d'un '!', tu prend donc le bit complémentaire d'un décimal :/

    En enlevant ce '!' tu devrais pouvoir régler ce léger soucis.

    Voilà pourquoi tu as le problème.

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

Discussions similaires

  1. fonction sur la somme des valeurs issues d'une requete
    Par iam dans le forum Bases de données
    Réponses: 5
    Dernier message: 15/06/2006, 21h35
  2. comparaison de valeurs
    Par Flobynaldo dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 17/05/2006, 16h56
  3. [Fonction Access] renvoie d'une valeur
    Par T'chab dans le forum Access
    Réponses: 6
    Dernier message: 12/05/2006, 09h47
  4. Comparaison de valeurs stockees dans un meme champ
    Par Tartenpion dans le forum Langage SQL
    Réponses: 4
    Dernier message: 15/02/2006, 21h33
  5. Réponses: 5
    Dernier message: 25/11/2003, 10h02

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