[resolu] arrondi d'un décimal

arrondi d'un décimal [resolu] - PHP - Programmation

Marsh Posté le 28-11-2005 à 12:50:27    

Bonjour à tous
 
Voila j'ai un intranet qui me calcul mes consommation et le cout de mes imprimantes laser. TOut fonctionne bien sauf que mon directeur aimerais que mes resultat (décimal) soit arrondi  
 
je m'explique
 
voici un genre de resultat brut
 
Cout d'un DR pour milles page = 8.6836428466 €
Ceci n'est pas top vous me direr donc j'ai rajouter la commande :  

Code :
  1. .round($cout_printer_1000, $decimal)


ou :
$cout_printer_1000 est le nombre decimal brut comme l'exemple que j'ai pu donné
$decimal est definit a 2 (cela me permet de n'avoir que 2 chiffre après la virgule)
 
donc maintenant cela me donne

Cout d'un DR pour milles page = 8.68 €

 
 
Or j'aimerais avoir un résultat du genre
 
Cout d'un DR pour milles page = 8.70 €
 
Comment faire??
 
voici une partie du code
 

Code :
  1. if(isset($cout_dr)){
  2. $cout_dr_1000 = $cout_dr * 1000;
  3. echo " DR  :<b>".round($cout_dr_1000, $decimal)."</b> €<br/>";
  4. }
  5. else { echo "DR  : <i><b>Information non disponible</i></b><br>"; }
  6. if(isset($cout_printer)){
  7. $cout_printer_1000 = $cout_printer * 1000;
  8. echo " Imprimante  :<b>".round($cout_printer_1000, $decimal)."</b> €<br/>";
  9. }
  10. else { echo "Imprimante  : <i><b>Information non disponible</i></b><br>"; }


 
Merci par avance :)


Message édité par hyptnos le 28-11-2005 à 16:36:52
Reply

Marsh Posté le 28-11-2005 à 12:50:27   

Reply

Marsh Posté le 28-11-2005 à 12:54:13    

je en comprends pas un truc :
8.6836428466 €  arrondi a deux chiffres apres la virgule , ca fait bien  8.68
 
sinon, tu peux arrondir a un chiffre apres la virgule  et rajouter un 0 apres  
[mode hs]
je crois qu'on bosse dans le meme type de boite :d
[/hs]


---------------

Reply

Marsh Posté le 28-11-2005 à 13:14:58    

$decimal = (round(($decimal - floor($decimal))*10)/10) + floor($decimal); :pt1cable:


Message édité par art_dupond le 28-11-2005 à 13:15:49

---------------
oui oui
Reply

Marsh Posté le 28-11-2005 à 13:35:57    

Plutot que de faire ce genre de chose, y'a sprintf qu'existe !!!
 
cela devra donner ce que tu veux:

Code :
  1. sprintf("%01.1f0", $tontruc);


Message édité par anapajari le 28-11-2005 à 13:36:54
Reply

Marsh Posté le 28-11-2005 à 13:42:07    

ouf, ca me rassure :p


---------------
oui oui
Reply

Marsh Posté le 28-11-2005 à 16:38:40    

Merci à anapajari pour sa solution sa marche du feux de dieu :)
 
je ne connaissait pas la fonction sprintf()
 
Sinon après etude cela n'a servit a rien car l'arrondi fait un sacré écart après. Donc en € quand on multiplie par le nombre de page on peu se retrouver avec une sacré différence.
 
Mais cela m'a permit de connaitre cette fonction
 
encore merci

Reply

Marsh Posté le 28-11-2005 à 16:54:20    

tu peux aussi juste arrondir à l'affichage et garder la valeur décimale dans ta varialbe.
 
 
ps : clair que sprintf est plus pratique que mon brol :p


---------------
oui oui
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed