Voici un bout de mon code :
$r8 = 8.0;
$docs = number_format($r8*5, 1);
if (preg_match("![0]$!", $docs)) {
$docs = preg_replace("![0]$!", '', $docs);
if (preg_match("![.]$!", $docs)) { $docs = preg_replace("![.]$!", '', $docs); }
}
je suppose que l’on peut l’optimiser.
J’ai déjà essayer ça :
$r8 = 8.0;
$docs = number_format($r8*5, 1);
if (preg_match("![.0]$!", $docs)) { $docs = preg_replace("![.0]$!", '', $docs); }
mais ca ne prenait pas en compte le .
Tu veux faire quoi exactement?
Un peu d’optimisation, ca serait pas plus rapide en une seule commande ?? :
if (preg_match("![0]$!", $docs)) {
$docs = preg_replace("![0]$!", '', $docs);
if (preg_match("![.]$!", $docs)) { $docs = preg_replace("![.]$!", '', $docs); }
}
Non, tu veux faire quoi == que doit faire ton code?
Rien des optimisations, et pire, si y a une autre façon de faire, on peut mais encore faut-il s’avoir quels sont tes buts avec ton code
A ok, j’avais pas compris, désolé.
Mon code sert à faire une moyenne, la valeur de départ est $R
le nombre de départ est $R, sa valeur mini est de 0 et sa valeur max est de 2
il est multiplier par 5 car je veux une moyenne sur 10
j’utilise la fonction number_format pour arrondir le résultat à 1 chiffre derrière la virgule
le résultat est stocké dans la variable $docs
$docs = number_format($R*5, 1);
ensuite avec une expression régulière je recherhce si $docs se termline par .0
si c’est le cas, je supprime le . et le 0 de la variable $docs
1) Voici ce qui doit se passer
$R = 1.56565656
— fonction number format et multiplication —
$docs = 7.8
– experssion régulière —
– comme $docs ne se termine pas par .0 on ne change rien —
2) si maintenand :
$docs = 7.0
– experssion régulière —
– comme $docs se termine pas par .0 on supprime le . et le 0 —
$docs = 7
Et round ne te convient pas?
si il fait la même chose plus rapidement, ca me dérange pas.
bah en fait il ne me convient pas car je suis en php 3 et pas php 4
je ne t’aiderai pas plus alors. Si tu ne peux pas mettre à jour ta version de php, c’est ton problème. Mais je me refuse désormais à aider toute personne sous php3. Faut pas pousser, php5 est sorti depuis pas mal de temps… Alors être encore en php3…
(sinon round(x, y) = floor(x*pow(10, y))/pow(10,y) ou un truc dans le genre.