arrondi d'un nombre

arrondi d'un nombre - Perl - Programmation

Marsh Posté le 24-08-2005 à 11:22:15    

Bonjour,
 
J'aimerai savoir s'il existe une fonction qui arrondi les nombres
exemple
3.8 -> 4
3.4-> 3
 
quelqu'un pourrait me renseigner svp???

Reply

Marsh Posté le 24-08-2005 à 11:22:15   

Reply

Marsh Posté le 24-08-2005 à 11:33:13    

my $arrondi = sprintf("%.0f", 3.4);


=> $arrondi = 3
 

my $arrondi = sprintf("%.0f", 3.8);


=> $arrondi = 4


Message édité par Elmoricq le 24-08-2005 à 11:33:29
Reply

Marsh Posté le 24-08-2005 à 11:40:11    

merci, j(avais pensait à sprintf mais pas à l'affecter à une variable
 
merci

Reply

Marsh Posté le 24-08-2005 à 11:41:15    

la_marseillaise a écrit :

merci, j(avais pensait à sprintf mais pas à l'affecter à une variable


 
 :heink:  
 
sprintf() c'est justement pour affecter à une variable une chaîne formatée.
Sinon, c'est printf(), qui fait exactement la même chose mais qui sort le résultat dans un flux (ouvert avec open() si précisé, sinon par défaut c'est le flux de sortie standard).

Reply

Marsh Posté le 24-08-2005 à 11:54:22    

ceil ???

Reply

Marsh Posté le 24-08-2005 à 11:54:58    


 
Module POSIX il me semble, je vais zieuter ça sur CPAN...
 
EDIT : vérifié.
http://search.cpan.org/~nwclark/pe [...] /POSIX.pod


Message édité par Elmoricq le 24-08-2005 à 11:55:52
Reply

Marsh Posté le 24-08-2005 à 13:43:43    

alors n'est-ce pas parfaitement adapte au probleme??

Reply

Marsh Posté le 24-08-2005 à 13:45:36    

Disons qu'il faut que le module soit installé.  
 
Ce serait dommage de l'installer juste pour ceil() ou floor() alors que sprintf() fait parfaitement l'affaire. [:jagstang]

Reply

Marsh Posté le 24-08-2005 à 14:16:36    

oki

Reply

Marsh Posté le 24-08-2005 à 14:23:11    

Heu, y a encore + simple non ?
 

Code :
  1. $toto = 4.6;
  2. $toto = int($toto + 0.5);    # $toto = 5
  3. $toto = 4.4;
  4. $toto = int($toto + 0.5);    # $toto = 4


 
 [:zeusy]


---------------
Samsung Galaxy S1 -> Samsung Galaxy S2 -> Samsung Note 2 -> Huawei Ascend Mate 7 -> ZTE Axon 7 -> OnePlus 6T -> Oppo Find X2 PRO -> Google Pixel 9 PRO XL
Reply

Marsh Posté le 24-08-2005 à 14:23:11   

Reply

Marsh Posté le 24-08-2005 à 14:26:16    

Aricoh a écrit :

Heu, y a encore + simple non ?
 

Code :
  1. $toto = 4.6;
  2. $toto = int($toto + 0.5);    # $toto = 5
  3. $toto = 4.4;
  4. $toto = int($toto + 0.5);    # $toto = 4


 
 [:zeusy]


 
 :jap:

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed