Arrondir un resultat avec deu chiffres apres la virgule

ViPHP
pjl
ViPHP | 2119 Messages

08 juil. 2005, 19:20

<?php
echo sprintf("%01.2f", round(75.3917894737, 1),2);
?> 

Invité
Invité n'ayant pas de compte PHPfrance

12 juin 2006, 21:57

essaie ça:

$chiffre=75.3917894737;
$chiffre = floor($chiffre) + (ceil(($chiffre - floor($chiffre)) * 10)) / 10

75.3917894737 affichera 75.4
75.31 affichera 75.4
75.00001 affichera 75.1

j'espère que ça correspond à ta demande car c'est en tout cas ce que j'ai compris, en tout cas bonne chance..

Invité
Invité n'ayant pas de compte PHPfrance

12 juin 2006, 22:05

(désolé pour le double post)
en effet j'avais pas testé le post précédent qui utilise une fonction que je ne connais pas mais il marche aussi bien voire mieux.
a chaqun sa méthode..

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

13 juin 2006, 09:20

certes ... mais pourquoi ressortir un post de presque 1 ans :?: :-k
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

limC
Invité n'ayant pas de compte PHPfrance

28 nov. 2007, 16:10

mieux vaut tard que jamais, si quelqu'un en a besoin :

function arrondiDeCommerical($monNombrAPleinDeDecimales){
return sprintf("%.2f", ceil(($monNombrAPleinDeDecimales)*100)/100);
}

doit faire l'affaire

ex : print arrondiDeCommerical(1.153789)
// rend 1.154

pour arrondir aux décimales suivantes, il suffit de changer 100 par 1000 ou 10000.

function arrondiDecSup($monNombrAPleinDeDecimales,$nbDecimales){
$div = pow(10,$nbDecimales);
return sprintf("%.2f", ceil(($monNombrAPleinDeDecimales)*$div)/$div);
}


(s/ceil/floor pour arrondi en dessous)

En esperant avoir servi à quelquechose

Invité
Invité n'ayant pas de compte PHPfrance

28 nov. 2007, 16:11

erf, j'avais pas lu la fin du thread, desolé ...