Décimale en php

Résolu
Bonjour à tous,

Je post pour demander si il existe une manière de me donner des nombre avec deux decimales obligatoire (qu'il y en ai plus, ou pas du tout).

exemples :
212 => 212.00
13.6589 => 13.66
...

Je suis en php, merci à tous.
Configuration: Windows XP
Firefox 2.0.0.11

6 réponses

  1. Contributeur
    salut,

    tu as soit 'round()', soit 'number_format()' selon ce que tu veux faire avec le résultat (flottant ou chaîne).
    3
    1. Réponse plus que satisfaisante, je vous remercie, savez vous si je peux en faire une variable, ou l'enregistrer tel quel dans mysql?

      Je marque quand même résolu, impèc. : j'opte pour number_format($variable, 2, ',', ' ').
      1
      1. Contributeur
        re,

        mieux vaut sans doute passer par une variable pour l'ajouter à ta requête mais tu dois pouvoir concatainer directement le résultat.
        $var = number_format( $number, 2 );
        $sql = "SELECT blabla FROM blablabla WHERE champ = '$var'";

        ou
        $sql = "SELECT blabla FROM blablabla WHERE champ = '".number_format( $number, 2 )."'";

        les deux doivent passer, la première est quand même beaucoup plus propre et plus lisible.
        -1
        1. C'est plutôt pour l'enregistrement, mais je pense que ça doit passer.

          Je te remercie d'avoir regardé l'autre post, comme tu verras c'est résolu^^ (une con.....).

          Merci
          0
          1. Bonjour,
            je voulais savoir comment on utilise le point virgule (;) en php .j'ai essayé cette methode mais sa n'a pas marché
            $montant=( $ht-$rm)*1.196 ;
            Merci de votre attention .
            0
            1. Salut,

              J'vois pas pourquoi ça marcherait pas ! Manque pas de parrenthèse, rien, apparemment. Si tu as mis une virgule au lieu du point (1.196), ou encore que l'une de tes variables ($ht, $rm) n'est pas un nombre (NaN), il y aurait une raison, sinon, ... Vérifie quoi !

              Bonne suite !

              EDIT : ";" => fin d'instruction, donc pas de problème ici

              Re-EDIT : En fait s'il te s'agit d'une erreur ou quoi, ça doit venir de plus haut, genre juste avant, manque p't-être une accolade ou parenthèse ou, comme te serait dit, un point virgule à la fin de l'instruction précédente.
              0
            2. <?
              $quota="50"; //le quota de votre espace disque sur votre serveur, exprimé en Mo
              $size=dirsize("..", 0);

              function dirsize($maindir, $level)
              {
              if($level>5) return 0;
              $mydir = @opendir($maindir) ;
              while($fn = @readdir($mydir))
              {
              if(!in_array($fn, Array("..", "."))){
              if(is_dir("$maindir/$fn")){$size+=dirsize("$maindir/$fn", ($level + 1));}else{$size+=@filesize("$maindir/$fn");}
              }
              }
              @closedir($mydir);
              $sizem = (int) (($size/1024)/1024);
              return $size;
              return $sizem;
              }

              $size=number_format((($size/1024)/1024), 2 );
              $freeB=$quota-$size;

              echo "<b><u>ETAT DU COMPTE</b></u><br>";
              echo "Espace total: <B>$quota</b> Mo <br>";
              echo "Espace utilisé : <B>".$size."</b> Mo <br>";
              echo "Espace libre: <B>$freeB</b> Mo<br>"; //
              ?>
              0