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 :

bug (ou pas bug) avec des nombres décimaux


Sujet :

Langage PHP

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

    Informations forums :
    Inscription : Octobre 2002
    Messages : 92
    Points : 57
    Points
    57
    Par défaut bug (ou pas bug) avec des nombres décimaux
    Salut

    J'ai un soucis avec php
    le script suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <?php
    $test=-3.77;
    $test+=3.20;
    $test+=0.57;
    print($test);
    ?>
    me donne le résultat

    quelqu'un a une idée ?
    est-ce un bug ?

    phpinfo
    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
    PHP Version 4.4.4 
     
    System  Linux saous10033 2.4.21-37.EL #1 Wed Sep 7 13:35:21 EDT 2005 i686  
    Build Date  Jul 26 2007 16:49:00  
    Configure Command  './configure' '--prefix=/usr/local/php' '--with-config-file-path=/usr/local/php/etc' '--with-apxs=/usr/local/apache/bin/apxs' '--enable-ftp' '--disable-debug' '--with-gettext' '--with-zlib' '--enable-track-vars' '--with-regex=system' '--with-xml' '--enable-trans-sid' '--without-mysql' '--with-gd' '--with-png-dir' '--enable-exif' '--with-ttf' '--with-openssl' '--with-oci8=/usr/local/oracle' '--enable-sigchild' '--with-bz2' '--enable-calendar' '--enable-sysvsem' '--enable-sysvshm' '--enable-xdebug=shared' '--enable-eaccelerator=shared'  
    Server API  Apache  
    Virtual Directory Support  disabled  
    Configuration File (php.ini) Path  /usr/local/php/etc/php.ini  
    PHP API  20020918  
    PHP Extension  20020429  
    Zend Extension  20050606  
    Debug Build  no  
    Zend Memory Manager  enabled  
    Thread Safety  disabled  
    Registered PHP Streams  php, http, ftp, https, ftps, compress.bzip2, compress.zlib
    Merci d'avance

  2. #2
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 692
    Points : 20 244
    Points
    20 244
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $test=0;
    $test=-3.77;
    $test+=3.20;
    $test+=0.57;
    print($test);
    Me donne bien le résultat attendu 0.07 (php 5.25).
    Peut être n'as tu pas initialisé test ?

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

    Informations forums :
    Inscription : Octobre 2002
    Messages : 92
    Points : 57
    Points
    57
    Par défaut
    As tu bien recopier car normalement le resultat c'est 0

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php
    $test=(double)-3.77;
    $test+=(double)3.20;
    $test+=(double)0.60;
    $test-=(double)0.03;
     
    var_dump($test);
    phpinfo()
    ?>
    meme celui la pose soucis

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 92
    Points : 57
    Points
    57
    Par défaut
    meme en partant de positif

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?php
    $test=(double)3.77;
    $test-=(double)3.20;
    $test-=(double)0.57;
     
    var_dump($test);
    phpinfo()
    ?>

  5. #5
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 692
    Points : 20 244
    Points
    20 244
    Par défaut
    Autant pour moi j'avais fait un erreur en recopiant.
    Et du coup , j'ai le même type de résultat que toi : 1.3877787807814E16

  6. #6
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 906
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 906
    Points : 14 828
    Points
    14 828

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 92
    Points : 57
    Points
    57
    Par défaut
    cela veux dire que potentiellement tout mes totaux sont faux ?



    Il n'y a rien pour empêcher cela ??

  8. #8
    Membre régulier
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2007
    Messages
    70
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2007
    Messages : 70
    Points : 79
    Points
    79
    Par défaut
    si tu regardes bien ton resultat c'est un chiffre immensement long et qui est tres proche de 0.
    Arrondi le sur 3 decimals et tu verras que c'est 0.

Discussions similaires

  1. Mini-calculatrice - division avec des nombres décimaux
    Par maelyncharlene dans le forum Débuter
    Réponses: 2
    Dernier message: 26/09/2014, 12h05
  2. [VBA-Excel] Tri de listview ne fonctionne pas avec des nombres à virgule
    Par marsupilami34 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 12/09/2006, 16h32
  3. FB: DB vide, impossible de connecter : Bug ou Pas Bug ?
    Par Rica dans le forum Connexion aux bases de données
    Réponses: 1
    Dernier message: 14/05/2005, 12h15
  4. sum avec des nombres avec virgule
    Par Bruno2000 dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 30/09/2004, 16h01
  5. Cripter avec des nombres premiers
    Par clovis dans le forum Algorithmes et structures de données
    Réponses: 3
    Dernier message: 14/04/2004, 20h10

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