 |
Catégories
|
 |
|
Graphisme Programmation  PHP (66)Hardware Divers
933 Sujets 12337 Réponses
|
|
 |
 |
 |
|
 |
Réponses - Fonction number_format |
 |
|
 |
 |
ceil(), float() pour arrondir... je ne sais pas pkoi sa arrondi pas dans le bon sens, number_format c'est pas l'idéal pour ton truc je pense. Bon courage
Posté le 14 04 2007 à 20h22
|
 |
|
 |
 |
Bon j'espère de tout coeur que quelqu'un trouvera solution à mon problème. En attendant je vais faire un truc compliqué de substitution avec un EXPLODE et STR_REPLACE. Merci.
Posté le 15 04 2007 à 11h50
|
 |
|
 |
 |
on arrive au résultat comme sa mais sa deconne sévère (il ne faut pas l'utiliser) $nombre = "-1,05334"; $test = number_format ($nombre, 1, ',',' '); // sa donne -1,0 echo $test; http://php.net/numbe r_format Peut être une piste avec ce commentaire car ton soucis vient de 05 je sèche et je pense que c'est impossible, sa arrondi au supérieur // le commentaire Just an observation: The number_format rounds the value of the variable. $val1 = 1.233; $val2 = 1.235; $val3 = 1.237; echo number_format($val1,2,",",".") ; // returns: 1,23 echo number_format($val2,2,",",".") ; // returns: 1,24 echo number_format($val3,2,",",".") ; // returns: 1,24
Posté le 15 04 2007 à 20h11
|
 |
|
 |
 |
Comme le dit psykoyo, number_format arrondit le nombre à n décimales (le con), n étant le deuxième paramètre de la fonction donc c'est normal que t'obtiennes -1,1. L'arrondi se fait à la décimal au dessus si la "centimale" est > =5, et au-dessous si <=4. Donc c'est tout à fait normal d'avoir -1,05 arrondi à -1.1. Si tu veux -1 ou -1,0, tu peux en effet faire un ceil ou floor suivant si tu veux l'arrondi respectivement au-dessus ou au-dessous. Tu peux aussi faire une conversion à la volée (équivaut à utiliser ceil()):
number_format((int)$taVariable, 1, ',', ' '); //(int)-1.05 = -1
Posté le 15 04 2007 à 21h23
|
 |
|
 |
 |
Ça ne vous a pas traversé l'esprit de mettre "0" pour l'argument "décimales" ? Quant à l'arrondi, il est mathématiquement tout à fait correct.
Posté le 16 04 2007 à 20h23
|
 |
|
 |
 |
0 pour l'argument décimale empêche de faire un format genre 1,x ... non ?
Posté le 17 04 2007 à 21h47
|
 |
|
 |
 |
Ca te donne bien un entier mais t'auras toujours un "problème" d'arrondi:
$int_var = 1.9;
print number_format($int_var, 0, ',', ' ');//2
$int_var = 1.4;
print number_format($int_var, 0, ',', ' ');//1
hu!
Posté le 18 04 2007 à 14h16
|
 |
|
|
|
 |
 |
 |
|
 |
Sujets PHP |
 |
|
PHP et resolution (...)
Auteur : Narno Posté le 16 08 2006 à 00h19 7 Réponses (Nouveau sujet) Sujet visité 1255 fois
Vérifier le contenu (...)
Auteur : bob Posté le 08 08 2006 à 12h24 10 Réponses (Nouveau sujet) Sujet visité 873 fois
todolist
Auteur : veensez Posté le 13 08 2006 à 20h34 2 Réponses (Nouveau sujet) Sujet visité 785 fois
Htaccess
Auteur : caniche Posté le 27 07 2006 à 09h48 6 Réponses (Nouveau sujet) Sujet visité 997 fois
demande de test sur (...)
Auteur : lo215 Posté le 26 07 2006 à 17h19 8 Réponses (Nouveau sujet) Sujet visité 658 fois
Unlink
Auteur : Narno Posté le 04 07 2006 à 10h21 6 Réponses (Nouveau sujet) Sujet visité 623 fois
|
|
 |
 |
 |
|