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
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part ValueError: zero length field name in format
j'utilise python 2.6 est ce que c'est la raison de mon erreur?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part 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...#formatstringsThe ',' 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.xVous 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 : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 >>> s = 12314587 >>> format(s, ',d').replace(',', ' ') '12 314 587'
Ou celle ci
EDIT3 :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 >>> s = 12314587 >>> format(s, 'n') '12 314 587'
Partager