Re: question formatage de printf

Top Page

Reply to this message
Author: Frédéric
Date:  
To: guilde
Subject: Re: question formatage de printf
Le vendredi 25 mars 2011, Edgar Bonet a écrit :

> Gédéon a écrit :


> > Je voudrais que par exemple 15000 € apparaisse sous la forme 15 000 €
> > avec un espace entre 15 et 000.
>
> Je ne connais pas Python, mais si son printf se comporte comme celui du C
>
>      printf("%'10.2f\n", resultat);

>
> L'apostrophe signifie qu'il faut utiliser l'écriture localisée des
> nombres :
>
>      $ LC_NUMERIC=C ./test_printf
>        15000.00
>      $ LC_NUMERIC=fr_FR.utf8 ./test_printf
>       15 000,00

>
> Attention, en C il faut faire setlocale(LC_NUMERIC, "") pour que ça
> marche, je ne sais pas si c'est automatique en Python.


Pour python, il faut utiliser le module locale :

    http://docs.python.org/library/locale.html


et plus particulièrement la fonction locale.format().

Mais il faut aussi bien définir les variables LC_xxx. Là, j'avoue ne jamais
avoir joué avec, mais l'explication d'Edgar devrait t'aider.

--
Frédéric