Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
887 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Arrondir un nombre

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Arrondir un nombre

n°2116796
spoque
Posté le 15-12-2011 à 15:30:45  profilanswer
 

Bonjour,
 
j'essaye  d'arrondir un nombre comme:
 
123.54=123
 
123.56=124
 
 
je fait avec des round des floor et des ceil mais ceci ne marche pas
 
quelle piste je dois prendre?
 
Merci

Message cité 2 fois
Message édité par spoque le 15-12-2011 à 15:31:12
mood
Publicité
Posté le 15-12-2011 à 15:30:45  profilanswer
 

n°2116809
rufo
Pas me confondre avec Lycos!
Posté le 15-12-2011 à 16:37:52  profilanswer
 

http://www.php.net/manual/fr/function.round.php  exemple n°2, ça ne va pas en ajoutant le 3ème paramètre?


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2116812
spoque
Posté le 15-12-2011 à 16:57:22  profilanswer
 

rufo a écrit :

http://www.php.net/manual/fr/function.round.php  exemple n°2, ça ne va pas en ajoutant le 3ème paramètre?


 
Bonjour Rufo,
 
echo round(9.5, 0, PHP_ROUND_HALF_EVEN);
 
celui la? non il m'affiche rien
 
PHP Version 5.1.6
 
apparament c'est pour la 5.3


Message édité par spoque le 15-12-2011 à 17:05:06
n°2116827
rufo
Pas me confondre avec Lycos!
Posté le 15-12-2011 à 17:51:56  profilanswer
 

Ben sinon, tu te codes la fonction à la main si tu peux pas changer ta version de php ;) C'est pas bien dur...


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2116915
Mara's dad
Yes I can !
Posté le 16-12-2011 à 12:02:25  profilanswer
 

spoque a écrit :

Bonjour,
 
j'essaye  d'arrondir un nombre comme:
 
123.54=123
 
123.56=124
 
Merci


 
Pourquoi 123.54 doit donner 123 et non 124 ?
 
round( 123.45, 0 ) => 123
round( 123.54, 0 ) => 124


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°2116935
rufo
Pas me confondre avec Lycos!
Posté le 16-12-2011 à 13:53:45  profilanswer
 

Je me suis fait la même réflexion. En maths, l'arrondi se calcule pas comme ça. La seule explication est que son besoin est spécifique à une situation donnée.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2116936
Mara's dad
Yes I can !
Posté le 16-12-2011 à 14:15:38  profilanswer
 

rufo a écrit :

Je me suis fait la même réflexion.


 
Et tu l'as gardée pour toi  [:cerveau ouch]


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
n°2116941
rufo
Pas me confondre avec Lycos!
Posté le 16-12-2011 à 14:49:34  profilanswer
 

J'ai d'abord pensé que son besoin était particulier, vu qu'il dit dans son premier post que les fonctions round, ceil et floor ne l'ont pas aidé...


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2117004
aideinfo
Posté le 17-12-2011 à 12:11:15  profilanswer
 

Non, il a mis que ça ne marchait pas, pas que ça ne correspondait pas à ses besoins. Mais on ne sait pas pourquoi...


---------------
http://www.aideinfo.com/  Whois adresses IP/domaines le plus évolué !!  FAQ Free Mobile
n°2117256
spoque
Posté le 19-12-2011 à 15:00:10  profilanswer
 

aideinfo a écrit :

Non, il a mis que ça ne marchait pas, pas que ça ne correspondait pas à ses besoins. Mais on ne sait pas pourquoi...


 
Bonjour,
 
effectivement avec  
round( 123.45, 0 ) => 123  
round( 123.54, 0 ) => 124  
 
sa marche, mais j'ai une variable exemple $price qui a la valeur 110.57 rien d'autre, et quand je remplace le nombre par ma variable il arrondi à la valeur en dessous.
 
echo round($price, 0);  m'affiche 110
 
je ne comprend pas.

mood
Publicité
Posté le 19-12-2011 à 15:00:10  profilanswer
 

n°2117449
aideinfo
Posté le 20-12-2011 à 10:58:36  profilanswer
 

En fait, la réaction est différente selon que tu utilises un point ou une virgule (selon paramètres régionaux de Windows). Pour ma part, j'ai 110 avec une virgule, 111 avec un point.


---------------
http://www.aideinfo.com/  Whois adresses IP/domaines le plus évolué !!  FAQ Free Mobile
n°2117470
FranceDenB​as
1 dépense = 1 socialiss' :o
Posté le 20-12-2011 à 12:30:41  profilanswer
 

spoque a écrit :

Bonjour,
 
j'essaye  d'arrondir un nombre comme:
 
123.54=123
 
123.56=124
 
 
je fait avec des round des floor et des ceil mais ceci ne marche pas
 
quelle piste je dois prendre?
 
Merci


 
C'est pour quelle application :??:
 

aideinfo a écrit :

En fait, la réaction est différente selon que tu utilises un point ou une virgule (selon paramètres régionaux de Windows). Pour ma part, j'ai 110 avec une virgule, 111 avec un point.


 
:jap: la même chose ici sous linux

Code :
  1. <?php
  2.       echo round("110.57", 0);
  3.       echo "<br/>";
  4.       echo round("110,57", 0);
  5. ?>


donne

Citation :


111<br/>110



---------------
"Il a inventé le bougisme : je bouge donc je suis" :sol: - Dupont-Aignan à propos de Son Altesse Sérénissime Sarkal 1er. Merci Handsome Devil et Meriadeck.
n°2117498
spoque
Posté le 20-12-2011 à 14:00:50  profilanswer
 

FranceDenBas a écrit :


 
C'est pour quelle application :??:
 


 

FranceDenBas a écrit :


 
:jap: la même chose ici sous linux

Code :
  1. <?php
  2.       echo round("110.57", 0);
  3.       echo "<br/>";
  4.       echo round("110,57", 0);
  5. ?>


donne

Citation :


111<br/>110




 
 
Bonjour,
 
j'extrais par une boucle un flux XML ma valeur est bien avec un point.
 
donc:123.56=123 chez moi !!!
 
echo round("123.56", 0); = 123 bizzard
 
 

n°2117582
aideinfo
Posté le 20-12-2011 à 22:24:31  profilanswer
 

La différence provient à mon avis du fait que dans un cas la valeur est considérée comme une chaîne numérique, dans l'autre un nombre décimal.


---------------
http://www.aideinfo.com/  Whois adresses IP/domaines le plus évolué !!  FAQ Free Mobile
n°2117647
MEI
|DarthPingoo(tm)|
Posté le 21-12-2011 à 10:20:06  profilanswer
 

aideinfo a écrit :

La différence provient à mon avis du fait que dans un cas la valeur est considérée comme une chaîne numérique, dans l'autre un nombre décimal.


S'il sort d'un XML avec SimpleXML c'est même pas une chaîne. Il faut faire une conversion explicite type :
 

Code :
  1. $valeurArrondie = round((double) $xml->maBalise);


---------------
| AMD Ryzen 7 7700X 8C/16T @ 4.5-5.4GHz - 64GB DDR5-6000 30-40-40 1T - AMD Radeon RX 7900 XTX 24GB @ 2680MHz/20Gbps |
n°2132120
hologram
Posté le 19-03-2012 à 17:52:46  profilanswer
 

Super merci MEI pour cette remarque qui va m'éviter de racheter un écran ;).


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Arrondir un nombre

 

Sujets relatifs
recuperer un nombre depuis une chaine de caractereEcrire un nombre avec un séparateur décimal locale
Compter le nombre de doublons d'un tableauaugmenter le nombre de bit par pixel pour le fomart GIF?
problème pour ajouter un nombre à une variable (heure UTC et CEST)[Résolu] Question sur l'optimisation pour compter le nombre de ligne
Visual Basic : Rechercher la combinaison d'un nombreselectionner un element qui determine le nombre de lignes a affciher
PHP-arondir un nombre 
Plus de sujets relatifs à : Arrondir un nombre


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR