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 :

format.locale() comment ne pas afficher les nombres nuls(0,00) ?


Sujet :

Python

  1. #1
    Membre confirmé Avatar de ptissendier
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2011
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juillet 2011
    Messages : 64
    Par défaut format.locale() comment ne pas afficher les nombres nuls(0,00) ?
    Bonjour,
    Je débute en Python.
    Mon application doit imprimer des montants (qui arrivent d'une base MySQL) et j'utilise locale.currency(montant,0,1,1) pour les formater.
    J'aimerais que les montant nuls (0,00) ne soient pas imprimés/affichés. Peu-t-on par exemple modifier ou créer un format "locale.monformat"?
    Ou faut-il que je fasse une petite fonction?
    Merci de votre aide.

  2. #2
    Expert confirmé

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

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 307
    Par défaut
    Salut,

    Qu'est-ce qui t'empêche de le vérifier avant ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    if not montant:
        montant = ""
    else:
        ....

  3. #3
    Membre confirmé Avatar de ptissendier
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2011
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juillet 2011
    Messages : 64
    Par défaut
    Oui bien sûr mais je ne trouvais pas ça très "élégant".
    J'ai fini par trouver ça :
    smontant=locale.currency(montant,0,1).replace('0,00','')
    Merci encore pour ton aide.

  4. #4
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2009
    Messages
    4 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 493
    Billets dans le blog
    1
    Par défaut
    Cette solution me parait bien moins bonne !

    Deux raisons à cela :
    • la logique du code n'est pas la même. La solution de VinsS retranscrit la logique : si la valeur est 0, je ne fais rien, sinon je fais quelque chose.
    • les performances. Le code de VinsS fait un test et ne fait que le travail nécessaire. Ton code convertit quoiqu'il arrive puis fait un replace qui n'est pas une opération anodine !

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

Discussions similaires

  1. Comment ne pas afficher les secondes ?
    Par lerieure dans le forum Requêtes
    Réponses: 1
    Dernier message: 11/06/2009, 09h42
  2. Réponses: 18
    Dernier message: 09/12/2008, 10h40
  3. comment ne pas afficher les zéro dans un diagramme à barres empilées
    Par sebastien84 dans le forum SAP Crystal Reports
    Réponses: 0
    Dernier message: 10/10/2007, 12h17
  4. comment ne pas afficher les donnees transmis par un lien
    Par coucam dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 04/07/2007, 14h39
  5. [JTable] Comment ne pas afficher les titres ?
    Par FabienBxl dans le forum Composants
    Réponses: 3
    Dernier message: 08/10/2003, 15h01

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