Décimale en php

Résolu
Flohti Messages postés 162 Date d'inscription   Statut Membre Dernière intervention   -  
 Mikado -
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.
A voir également:

6 réponses

Alain42
 
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   Statut Contributeur Dernière intervention   922
 
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   Statut Membre Dernière intervention   15
 
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   Statut Contributeur Dernière intervention   922
 
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   Statut Membre Dernière intervention   15
 
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
apppppp
 
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   Statut Membre Dernière intervention   15
 
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
Mikado
 
<?
$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