[Perl] Afficher seulement 2 chiffre après la virgule

Afficher seulement 2 chiffre après la virgule [Perl] - Perl - Programmation

Marsh Posté le 06-06-2003 à 14:14:37    

Encore sur un cgi, j'ai une moyenne, qui se trouve à être un peu trop longue à mon gout (0.166666666666667)
 
j'aimerais conserver que les 2 chiffres après la virgule
 
sur le net, tlm utilise des printf

Code :
  1. printf("%.3f", 3.1415926535);       # affiche 3.142


 
dans mon cas, j'ai seulement un print et de faire

Code :
  1. print("%.2f", $average);


ne semble pas fonctionner
 
j'ai aussi tenté un split de cette facon

Code :
  1. ($entier, $decimal) = split(/./, $average);
  2. $average = $entier . "." . substr($decimal, 0, 2);


sans aucun succès non plus


Message édité par burgergold le 06-06-2003 à 14:15:13
Reply

Marsh Posté le 06-06-2003 à 14:14:37   

Reply

Marsh Posté le 06-06-2003 à 14:52:35    

et

Code :
  1. print substr($average, index($average,"\." ), 2);


 
ça marche pas??
 
ah au fait, ton truc de split peut pas marcher, mais je te laisse découvrir pourquoi. un indice en bas de votre écran : en perl, dans une expression régulière, quelle est la signification de "."?
 
--edit--
 
sinon, un print %.2f, ça marche pas, et c normal! un printf ou sprintf serait mieux hein:!


Message édité par arghbis le 06-06-2003 à 14:54:09
Reply

Marsh Posté le 06-06-2003 à 14:54:32    

trouvé, mon split manquait un \ avant le "."

Reply

Marsh Posté le 06-06-2003 à 15:07:47    

comme la dit arghbis, un printf fonctionnera parfaitement:

Code :
  1. printf("%.2f", $average);


 
Mais j'en profite pour signaler l'existence de Number::Format ( http://search.cpan.org/author/WRW/ [...] /Format.pm )qui permet de bien mieux "formater" les nombres à sa convenance.

Reply

Marsh Posté le 06-06-2003 à 15:15:34    

ouais mais bon, tant que tu peux éviter "facilement" de fiare appel à des modules externes, moi je trouve ça mieux! (portabilité, évolution et maintenance, etc..)

Reply

Marsh Posté le 06-06-2003 à 23:02:54    

http://forum.hardware.fr/forum2.ph [...] subcat=392
 
J'avai posté une petite fonction pour arrondir un nombre (et pas seulement le tronquer) avec une precision donnée à la fin de ce thread

Reply

Sujets relatifs:

Leave a Replay

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