(Courriels de diversion: <voltages@rejouisse-vende.com> <bafouillerez@eraflures-stoppeur.com> <evacuees@visseraient-jaloux.com> <intermediaires@volontaire-mousseline.com> <troquee@fixais-baptisaient.com> <latinistes@tonifiez-diffamez.com> <retrancherons@sociabilite-apitoya.com> <emulsionner@hilarants-chevrefeuille.com> <regenterent@transpireriez-ereinteriez.com> <strategique@inattendus-gargote.com> )


On Mon, 19 Apr 1999, Jerome Gasperi wrote:

> 
> Bonjour,
> 
> Y a t'il un equivalent de printf en perl?
> Je veux que 6.9999678 soit approxime comme 7.0 par exemple
> Comment faire simplement?
> 

Pour faire de joli fiches :

man perlform

gmmpc1:~> cat /tmp/es.pl 
format STDOUT =
NOMBRE @#.#
$a
.

$a = 6.999;
write ;

$a = 18.9999;
write;
gmmpc1:~> perl /tmp/es.pl
NOMBRE  7.0
NOMBRE 19.0

Sinon, tout simplement :

man perlfunc 

       printf FORMAT, LIST
               Equivalent to print FILEHANDLE sprintf(FORMAT,
               LIST).  The first argument of the list will be
               interpreted as the printf format.  If use locale
               is in effect, the character used for the decimal
               point in formatted real numbers is affected by the
               LC_NUMERIC locale.  See the perllocale manpage.

               Don't fall into the trap of using a printf() when
               a simple print() would do.  The print() is more
               efficient, and less error prone.


gmmpc1:~> cat /tmp/es.pl
$a = 6.999;
printf "NOMBRE (printf) %.1f\n", $a;

$a = 108.9871;
printf "NOMBRE (printf) %.1f\n", $a;

gmmpc1:~> perl /tmp/es.pl
NOMBRE (printf) 7.0
NOMBRE (printf) 109.0

|                              `""'
| Xavier Montagutelli          0--0
|               ---------oOOo---()---oOOo----------
| INSA Toulouse - Dpt de Mathematiques   Tel: +33 5 61 55 93 38 (HB)
| Complexe scientifique de Rangueil      Fax: +33 5 61 55 93 20
| 31077 Toulouse Cedex                   Mel: montagut@gmm.insa-tlse.fr 

 _______________________________________________________________________
  Le CULTe sur le ouebe: http://savage.iut-blagnac.fr/