[html/php]

Résolu
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.

6 réponses

  1. 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
    1. 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
      1. 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
        1. 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
      2. 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
        1. 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