[html/php]

Résolu
pmp75 Messages postés 7 Date d'inscription   Statut Membre Dernière intervention   -  
pmp75 Messages postés 7 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je souhaiterais forcer l'affichage d'une variable à 4 chiffres (2 avants et 2 après la virgule).
Par exemple si
$test = 2.5;
je voudrais que lorsque je fait un
echo $test; 
que la résultat affiché soit :
02.50


J'ai essayé le format_number, sprintf et ça n'a pas l'air de fonctionner (a moins que ce soit moi qui l'utilise mal).

Pouvez-vous, s'il vous plaît, me donner un petit coup de pouce là dessus ?!

Merci par avance.
Cordialement.
A voir également:

6 réponses

badlou Messages postés 128 Date d'inscription   Statut Membre Dernière intervention   48
 
Regarde la documentation de ces fonctions, tu as peut être fais une erreur (regarde aussi les exemple) :
https://www.php.net/manual/fr/function.number-format.php
https://www.php.net/manual/fr/function.sprintf.php
0
pmp75 Messages postés 7 Date d'inscription   Statut Membre Dernière intervention  
 
MErci de ton aide.

J'avais effectivement fait une erreure. En revanche pour forcer l'affichage de 2 chiffres AVANT la virgule, sprintf() ne permet pas de réaliser ça (il peut forcer l'affichage sur 2 chiffres APRES les virgule, mais pas avant) ...
0
le père
 
Bonjour

il peut forcer l'affichage sur 2 chiffres APRES les virgule, mais pas avant
Bien sûr que si, tu as mal lu la doc
Essaye :
$test=sprintf ('%05.2f',2.5);
echo $test;
0
swoog42 Messages postés 1060 Date d'inscription   Statut Membre Dernière intervention   244
 
sinon, sans connaitre la fonction sprintf, tu aurais pu y arriver :
if ($test > 10) echo '0';
echo $test;
$reste = $test * 100;
if ( ($reste % 10) == 0) echo '0';
0
le père
 
if ($test > 10) echo '0';
Je crois bien que ce test est fait à l'envers
echo $test;
Et si $test a plus de deux chiffres après la virgule ????

Bref, on peut ré-inventer la roue, mais faudrait quand même la faire ronde ^^
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
swoog42 Messages postés 1060 Date d'inscription   Statut Membre Dernière intervention   244
 
oui, effectivement, le test est à l'envers, j'ai tapé trop vite... après, je voulais juste démontré qu'on peut toujours s'en tirer même sans connaitre toutes les fonctions de PHP ^^
reste juste a adapter
0
pmp75 Messages postés 7 Date d'inscription   Statut Membre Dernière intervention  
 
Re,

Désolé du retard, j'ai résolu mon problème en faisant effectivement un
if ($mar_variable <10) sprint("0%.2f", $ma_variable)
else sprintf("%.2f", $ma_variable);

Je cherchais un truc qui le fasse automatiquement... mais bon je garde ça provisoirement.

Merci à vous pour votre aide
0