Décimale en php

Résolu/Fermé
Flohti Messages postés 162 Date d'inscription mercredi 25 juillet 2007 Statut Membre Dernière intervention 7 février 2010 - 15 janv. 2008 à 10:01
 Mikado - 28 juil. 2010 à 15:55
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.

6 réponses

Bonjour,

c'est number_format()

vas voir ce site:

http://www.manuelphp.com/php/function.number-format.php
3
Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 922
15 janv. 2008 à 10:06
salut,

tu as soit 'round()', soit 'number_format()' selon ce que tu veux faire avec le résultat (flottant ou chaîne).
3
Flohti Messages postés 162 Date d'inscription mercredi 25 juillet 2007 Statut Membre Dernière intervention 7 février 2010 15
15 janv. 2008 à 10:17
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
Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 922
15 janv. 2008 à 10:24
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.
0

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

Posez votre question
Flohti Messages postés 162 Date d'inscription mercredi 25 juillet 2007 Statut Membre Dernière intervention 7 février 2010 15
15 janv. 2008 à 10:38
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
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
Flohti Messages postés 162 Date d'inscription mercredi 25 juillet 2007 Statut Membre Dernière intervention 7 février 2010 15
29 mai 2009 à 13:57
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
<?
$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