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

PHP & Base de données Discussion :

Surprise avec sprintf


Sujet :

PHP & Base de données

  1. #1
    Membre habitué
    Inscrit en
    Mai 2009
    Messages
    513
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 513
    Points : 131
    Points
    131
    Par défaut Surprise avec sprintf
    Bonjour à tous.

    J'utilise PHP pour générer une page Web qui affiche le contenu d'une base de donnée de comptabilité. Il y a des champs destinés à afficher des débits et des crédits, qui sont affichés à l'aide du programme suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    function formatnombre($dd)
    {
      if ($dd==0) return "";
      $d=trim(sprintf("%13.2f",$dd));
      return $d;
    }
    Et cela fait tout à fait ce à quoi je m'attends : par exemple 192.25 ou 260.00.

    Dans le programme de génération de la page web, les deux valeurs de mon exemple ci-dessus sont prises directement dans le résultat de la requête sur un champ MySQL déclaré en "decimal(10.2)".

    A la ligne d'après, je veux afficher la somme de ces deux valeurs avec la même routine. Et voici le problème : les zéros non significatifs après le point ne sont pas affichés.

    Merci de m'aider à résoudre ce problème que je ne comprends pas.

    NB voici l'en-tête de la page phpinfo :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    PHP Version 7.2.15-0ubuntu0.18.04.2

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    voir :

  3. #3
    Membre habitué
    Inscrit en
    Mai 2009
    Messages
    513
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 513
    Points : 131
    Points
    131
    Par défaut
    Merci, jreaux62 : ta contribution m'a permis de trouver mon erreur, qui n'était pas du tout celle-là : je suis extrèmement honteux, et, comme tu dis, je suis idiot, et plus qu'une seconde : php admet parfaitement d'additionner deux valeurs textuelles, dès lors que ces textes représentent bien des nombres, et j'avais bien écrit l'appel de mon sous-programme de formatage... mais ce que j'affichais était l'argument de cet appel, et non pas le résultat fourni.

    Peut-être ceux qui font du développement seront-ils plus enclins à me pardonner : je trouve que c'est le genre d'erreur le plus difficile à trouver quand on a le nez dans le guidon.

    Un grand merci au forum, et à bientôt pour ma prochaine question idiote.

    AMIcalement.

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

Discussions similaires

  1. Problème avec sprintf
    Par LinuxUser dans le forum C
    Réponses: 9
    Dernier message: 18/05/2007, 15h34
  2. Probleme de segmentation fault avec sprintf
    Par MathG dans le forum C++
    Réponses: 5
    Dernier message: 14/12/2006, 01h12
  3. formatage de données avec sprintf
    Par hunter001 dans le forum C
    Réponses: 10
    Dernier message: 18/08/2006, 08h05
  4. probleme avec sprintf
    Par semaj_james dans le forum C
    Réponses: 5
    Dernier message: 09/12/2005, 20h07
  5. petite surprise avec le DOM
    Par sekaijin dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 03/10/2005, 09h36

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