Bonjour,
Je voudrais savoir comment transformer 0.055 en 00.055. Je sais qu'avec sprintf on peut faire cela mais je n'y arrive pas.
$sec=sprintf("%2.3f",0.055);
Merci de votre aide
Bonjour,
Je voudrais savoir comment transformer 0.055 en 00.055. Je sais qu'avec sprintf on peut faire cela mais je n'y arrive pas.
$sec=sprintf("%2.3f",0.055);
Merci de votre aide
Avec les balises [ code ] et [ /code ], pour une meilleure lisibilité
Code : Sélectionner tout - Visualiser dans une fenêtre à part $sec=sprintf("%02.3f",0.055);
Désolé, mais cela ne marche pas....
Une autre idée??
Si, ça marche très bien, à condition de ne pas se gourerEnvoyé par peuf23
c'est mieux ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part $sec=sprintf("%06.3f",0.055);
En fait, le chiffre qui suit le séparateur "." : 3 indique le nombre de décimales (la précision).
Le chiffre qui précède le séparateur (6 pour moi tu avais mis 2) indique la largeur minimale de la chaine résultante. Si tes décimales sont plus nombreuses que cela, elles sont ajoutées quand même. C'est pour cela que %2.3f sort bien 0.055.
Par contre, le 0 qui suit le % indique qu'il faut complèter à gauche avec des zéros. Cependant, on ne peut complèter à gauche que s'il reste de la place : 0.055 sorti en %02.3f s'affiche donc 0.055, faute de place, alors qu'en %06.3f, cela sort en 00.055 (0.055 occupe 5 positions, la 6e est alors complètée par un 0).
J'ai commis l'erreur de rajouter le 0 sans toutefois élargir le champ ... mais quand même, tenter de faire rentrer 3 décimales dans un champ de 2 positions, c'était chaud, non ?
Oui, ca marche
... Et merci pour tes explications
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager