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 confirmé
    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
    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 confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 050
    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 : 4 050
    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'
    ?

  3. #3
    Membre confirmé
    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
    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 éclairé
    Profil pro
    Inscrit en
    Juin 2013
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 43
    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 confirmé

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

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 304
    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 confirmé
    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
    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 confirmé

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

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 304
    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 confirmé
    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
    Par défaut
    doit je remplacer chaque , par un 'n'?

  9. #9
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 050
    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 : 4 050
    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'

+ 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