Limiter un nombre de caractère

Eléphanteau du PHP | 18 Messages

26 avr. 2006, 20:36

Salut, voilà j'ai fais une fonctions pour calculer des pourcentages, mais la plus part du temps, je me retrouve avec des nombres de ce style "23.333333337" donc je me demandais si il existait une fonction permetant de limiter le nombre de caractères après la virgule ou tout simplement limiter le nombre de chiffre

Merci de vos réponses

Avatar du membre
ViPHP
ViPHP | 3008 Messages

26 avr. 2006, 20:57

Un petit round() devrait faire l'affaire je pense.

Code : Tout sélectionner

$a = 3.435425435345; echo round($a,2);
te retournera 2.43

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

26 avr. 2006, 21:11

:!: Attention !

La fonction round() modifie la valeur de la variable.

Pour ne modifier que l'affichage en conservant la valeur exacte,
mieux vaut utiliser la fonction number_format(). ;)

Avatar du membre
ViPHP
ViPHP | 3008 Messages

26 avr. 2006, 21:18

+1 ;)

Eléphanteau du PHP | 18 Messages

26 avr. 2006, 21:27

number_format(), c'est ce qui me fallait merci de m'avoir répondu si vite :lol:

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

26 avr. 2006, 21:28

Quoique...
Charabia, dans son exemple, a pris la saine précaution
de n'utiliser la fonction round() que pour l'affichage.
La valeur de la variable $a n'est donc pas modifiée.

Mais mieux vaut tout de même utiliser les fonctions
pour le but dans lequel elles ont été conçues, non ?
- round() renvoie la valeur arrondie de $a
- number_format() change l'affichage de $a

Au fait...
$a = 3.435425435345;
echo round($a,2);
te retournera 2.43
T'es sûr ?... ;)

Avatar du membre
ViPHP
ViPHP | 3008 Messages

26 avr. 2006, 21:33

Au fait...
$a = 3.435425435345;
echo round($a,2);
te retournera 2.43
T'es sûr ?... ;)
Je l'ai toujours dit bien haut et bien fort...ne jamais répondre le soir...il vaut mieux dormir :langue:

Autant pour moi...c'est 3.43 qu'il fallait lire :)

Invité
Invité n'ayant pas de compte PHPfrance

27 avr. 2006, 13:59

3.44 ?

8)

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

27 avr. 2006, 14:09

oui, parce que l'arrondie de 3.4354 et 3.44.
0.0054 arrondi donne 0.01 ;)
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

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

27 avr. 2006, 15:04

Oui mais on peut pas lui en vouloir pour ça, son 2nd message était posté encore plus tard que le premier, alors forcément... ;)

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

27 avr. 2006, 15:08

Il est à peine plus de 15.00, là.
On prend le risque de lui demander maintenant ou il est déjà trop tard ? :-* :langue: