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

Bibliothèques et frameworks PHP Discussion :

[SimpleXML] Opérations mathématiques sur des float


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre du Club
    Profil pro
    Bricoleur
    Inscrit en
    Septembre 2011
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Bricoleur

    Informations forums :
    Inscription : Septembre 2011
    Messages : 56
    Points : 61
    Points
    61
    Par défaut [SimpleXML] Opérations mathématiques sur des float
    Bonjour,
    J'ai lu un peu partout que Simplexml avait des soucis avec les données de type float. Je vous explique mon soucis.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    // j'ai un objet simplexml
    $e->valeur;
    var_dump($e->valeur); // object
    $value=(float)$e->valeur; // float
    fonction_utilisant_xml($value); // pas de soucis les résultats attendus sont au rendez-vous
    // Par contre si je fais
    $value=(float)$e->valeur;
    $value -= 0.5;
    var_dump($value); // float
    fonction_utilisant_xml($value); // Rien, nada, pas d'erreur, mais pas de résultats non plus...
    L'un d'entre vous aurait-il une idée, une piste ?
    Merci
    Ubuntu 14.04 LTS
    LibreOffice 4.4

  2. #2
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 178
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 178
    Points : 8 371
    Points
    8 371
    Billets dans le blog
    17
    Par défaut
    Intrigant. Donne un ptit script fonctionnel et son XML à tester.
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

  3. #3
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    S'assurer que la donnée est bien un flottant serait une bonne chose:
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    $float = filter_var($e->value, FILTER_SANITIZE_NUMBER_FLOAT);

    Pour rappel, le cast peut échouer voire renvoyer des résultats inatendus, prudence donc. L'utilisation des filtres depuis PHP 5.2 permet de s'assurer que les données sont saines, nettoyées et typées avant usage

  4. #4
    Membre du Club
    Profil pro
    Bricoleur
    Inscrit en
    Septembre 2011
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Bricoleur

    Informations forums :
    Inscription : Septembre 2011
    Messages : 56
    Points : 61
    Points
    61
    Par défaut
    En fait, ma donnée est bien un flottant, mais ma fonction refine() interroge un service SOAP qui n'accepte des flottant qu'avec 7 décimales. Avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $value=round($value,7);
    ça marche.
    Merci seb ta demande m'a fait réfléchir...
    Ubuntu 14.04 LTS
    LibreOffice 4.4

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

Discussions similaires

  1. Opération mathématique sur des COUNT
    Par Lloyd7 dans le forum Langage SQL
    Réponses: 9
    Dernier message: 10/05/2016, 16h11
  2. [Batch] opération mathématique sur des variables
    Par nicnictout dans le forum Scripts/Batch
    Réponses: 5
    Dernier message: 10/11/2014, 16h59
  3. Réponses: 4
    Dernier message: 19/02/2006, 18h18
  4. [time]Opération mathématique sur heure
    Par Shaika-Dzari dans le forum Général Python
    Réponses: 4
    Dernier message: 28/12/2005, 19h08
  5. Test if sur des float
    Par Minuit dans le forum Linux
    Réponses: 2
    Dernier message: 26/03/2005, 13h08

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