bonsoir à tous,
je cherche àafficher un nombre numerique en format monétaire : exemple :12 314 587
si quel'un a une idée je suis preneuse merci à vous
Version imprimable
bonsoir à tous,
je cherche àafficher un nombre numerique en format monétaire : exemple :12 314 587
si quel'un a une idée je suis preneuse merci à vous
?Code:
1
2
3
4 >>> s = 12314587 >>> s = "{:,}".format(s).replace(',', ' ') >>> s '12 314 587'
j'ai testé cette méthode on l'a mettant dans Ma methode monnai ,seulement j'obtiens une erreur :
Code:ValueError: zero length field name in format
j'utilise python 2.6 est ce que c'est la raison de mon erreur?Code:
1
2
3
4 def monnai(self,r): d="{:,}".format(r).replace(',', ' ') d=int(d) return d
Je ne pense pas que tu puisse faire 'int(d)' avec ton 'd' comprenant des espaces. Je ne comprend d’ailleurs pas trop pourquoi tu as besoin de 'd' sous format 'int', c'est déjà la même valeur que ton 'r'. Soit tu utilise ton 'd' pour afficher ton chiffre dans le format qui te convient soit tu utilise 'r' pour continuer tes opérations.
Salut,
Heu, pourquoi est-ce que tu faisaprès transformation ?Code:d=int(d)
Il n'y a pas de raison de le faire et tu auras une ValueError en retour.
Vous avez raison , la variable d n'est pas importante , mais meme en enlevant j'ai toujours l'erreur
Tu as peut-être raison pour la question de version.
http://docs.python.org/2/library/str...#formatstringsCitation:
The ',' option signals the use of a comma for a thousands separator. For a locale aware separator, use the 'n' integer presentation type instead.
Changed in version 2.7: Added the ',' option
doit je remplacer chaque , par un 'n'?
Ça fonctionne avec les deux versions 2.7 et 3.xCitation:
Vous avez raison , la variable d n'est pas importante , mais meme en enlevant j'ai toujours l'erreur
Bonne soirée
EDIT :
Testes peut-être cela
EDIT2 :Code:
1
2
3 >>> s = 12314587 >>> format(s, ',d').replace(',', ' ') '12 314 587'
Ou celle ci
EDIT3 :Code:
1
2
3
4
5 >>> import locale >>> locale.setlocale(locale.LC_ALL, '') 'fr_FR.UTF-8' >>> locale.format("%d", s, grouping=True) '12 314 587'
Ou encore
Code:
1
2
3 >>> s = 12314587 >>> format(s, 'n') '12 314 587'