IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

afficher un nombre en format monétaire


Sujet :

Python

  1. #1
    Membre régulier
    Profil pro
    informatique
    Inscrit en
    Novembre 2009
    Messages
    167
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : informatique

    Informations forums :
    Inscription : Novembre 2009
    Messages : 167
    Points : 88
    Points
    88
    Par défaut afficher un nombre en format monétaire
    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

  2. #2
    Expert éminent
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    3 824
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 824
    Points : 7 120
    Points
    7 120
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    >>> s = 12314587
    >>> s = "{:,}".format(s).replace(',', ' ')
    >>> s
    '12 314 587'
    ?
    Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
    La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

  3. #3
    Membre régulier
    Profil pro
    informatique
    Inscrit en
    Novembre 2009
    Messages
    167
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : informatique

    Informations forums :
    Inscription : Novembre 2009
    Messages : 167
    Points : 88
    Points
    88
    Par défaut
    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

    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
    j'utilise python 2.6 est ce que c'est la raison de mon erreur?

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2013
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 43
    Points : 60
    Points
    60
    Par défaut
    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.

  5. #5
    Expert éminent

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 300
    Points : 6 780
    Points
    6 780
    Par défaut
    Salut,

    Heu, pourquoi est-ce que tu fais après transformation ?

    Il n'y a pas de raison de le faire et tu auras une ValueError en retour.

  6. #6
    Membre régulier
    Profil pro
    informatique
    Inscrit en
    Novembre 2009
    Messages
    167
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : informatique

    Informations forums :
    Inscription : Novembre 2009
    Messages : 167
    Points : 88
    Points
    88
    Par défaut
    Vous avez raison , la variable d n'est pas importante , mais meme en enlevant j'ai toujours l'erreur

  7. #7
    Expert éminent

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 300
    Points : 6 780
    Points
    6 780
    Par défaut
    Tu as peut-être raison pour la question de version.

    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
    http://docs.python.org/2/library/str...#formatstrings

  8. #8
    Membre régulier
    Profil pro
    informatique
    Inscrit en
    Novembre 2009
    Messages
    167
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : informatique

    Informations forums :
    Inscription : Novembre 2009
    Messages : 167
    Points : 88
    Points
    88
    Par défaut
    doit je remplacer chaque , par un 'n'?

  9. #9
    Expert éminent
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    3 824
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 824
    Points : 7 120
    Points
    7 120
    Par défaut
    Vous avez raison , la variable d n'est pas importante , mais meme en enlevant j'ai toujours l'erreur
    Ça fonctionne avec les deux versions 2.7 et 3.x

    Bonne soirée

    EDIT :

    Testes peut-être cela

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    >>> s = 12314587
    >>> format(s, ',d').replace(',', ' ')
    '12 314 587'
    EDIT2 :

    Ou celle ci

    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'
    EDIT3 :

    Ou encore

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    >>> s = 12314587
    >>> format(s, 'n')
    '12 314 587'
    Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
    La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. format.locale() comment ne pas afficher les nombres nuls(0,00) ?
    Par ptissendier dans le forum Général Python
    Réponses: 3
    Dernier message: 23/02/2014, 19h04
  2. Réponses: 8
    Dernier message: 18/04/2011, 14h46
  3. [VB] Recuperer nombre dans zone formater monétaire
    Par zejo63 dans le forum VB 6 et antérieur
    Réponses: 14
    Dernier message: 07/02/2006, 11h04
  4. afficher un nombre sous format binaire?
    Par sofiane44 dans le forum C++
    Réponses: 2
    Dernier message: 20/01/2006, 18h47
  5. formater un nombre en format "monétaire"
    Par jm6570 dans le forum Access
    Réponses: 2
    Dernier message: 14/09/2005, 10h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo