Page 1 sur 1

arrondir un chiffre

Posté : 22 déc. 2006, 10:34
par ma_pomme
bonjour, bonsoir,

voila je voudrais arrondir une variable avant de la réutilisé dans d'autres calcul mais ceil() round() floor() ne fonctionne apparement qu'avec un echo d'apres ce que j'ai pu voir sur le manuel de php.

Donc ma question: comment faire pour arrondir ma variable avant utilisation

Posté : 22 déc. 2006, 10:37
par Ajoloca
Bonjour,

Je pense que tu as mal interprété ce que dit la doc.

Fais un essai et tu véras que ça fonctionne comme tu le souhaites.

Posté : 22 déc. 2006, 10:43
par ma_pomme
il me faudrait utilisé ceil() mais quand je le rentre dans mon calcul il me retourne zero alors que la variable a bien une valeur superieur a zero a l'origine.

voici comment j'ai procedé pour le test
$consoR = ( ( $calconso + ( 3 * $equipage ) )  * ceil($nbheure) )  / 2;
$consoA = ( $calconso + ( 3 * ( $nbpassager + $equipage ) ) ) * ceil($nbheure);

Posté : 22 déc. 2006, 11:09
par zeus
commence par un test simple
echo "Heure sans ceil : ".$nb_heure."<br />";
echo "Heure arrondi supérieure : ".ceil($nb_heure)."<br />";
Ce qui te permettra de te rendre compte du fonctionnement de la fonction ceil() sans augmenter la complexité par un gros calcul ;)

Posté : 22 déc. 2006, 11:20
par ma_pomme
dans ma page de traitement j'affiche deja avec en sans ceil pour informé l'utilisateur des info réél et de celles qui seront prise en compte et elle s'affiche correctement.

Mon problème est quand je veux integré ceil($nbheure) dans mon calcul. Et meme sur un calcul simple que j'ai testé aussi j'ai constaté que ça me retourne zero et non la valeur affiché plus haut

Posté : 22 déc. 2006, 11:37
par ant
Que t'affiches $nb_heure avec un echo (avec ceil) juste avant ton calcul?
Celui-ci:
$consoR = ( ( $calconso + ( 3 * $equipage ) )  * ceil($nbheure) )  / 2;
Si ca te renvoit une valeur différente de 0, aucune raison que dans ton calcul, il ne te renvoit pas la même valeur.

Ou alors c'est ton calcul qui ne va pas, dans ce cas là, découpe les différentes opérations et regarde les résultats renvoyés un à un.

Posté : 22 déc. 2006, 11:55
par ma_pomme
et bien en faite j'avais du faire une erreur quelque part car je viens de refaire les lignes qui me posait problème et maintenant ça fonctionne bien :? surment une erreur de frappe :oops:

merci bcp de votre aide et de votre patience a m'expliqué malgré mon erreur :oops:

Posté : 22 déc. 2006, 12:19
par @rthur
Un petit "résolu" stp? ;)

Posté : 22 déc. 2006, 12:21
par ma_pomme
j'avais oublier dans ma precipitation dsl