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 :

formatage d'un Entry [Python 3.X]


Sujet :

Python

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2020
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2020
    Messages : 67
    Points : 32
    Points
    32
    Par défaut formatage d'un Entry
    Bonjour,
    je me demande s'il y a une méthode simple pour formater Une entrée

    Entry 1234.2 ce transforme en 1 234,20 avec 1 234,20 est un flotant

    12.2 en 12,20
    12,2 en 12,20
    12. et 12, en 12,00
    1234.2 et 1234,2 en 1 234,20

    merci d'avance

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 285
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 285
    Points : 36 773
    Points
    36 773
    Par défaut
    Salut,

    Entry se contente d'afficher une chaîne de caractères.

    Pour transformer un nombre flottant 1234.2 en la chaîne de caractères "1 234,20" une solution sera d'utiliser le "bon" locale (en cherchant un peu sur Internet çà se trouve).

    Sinon vous pouvez toujours le coder en remplaçant le '.' par ',', en regroupant les chiffres avant la ',' par paquets de 3.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2020
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2020
    Messages : 67
    Points : 32
    Points
    32
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    Salut,

    Entry se contente d'afficher une chaîne de caractères.


    Sinon vous pouvez toujours le coder en remplaçant le '.' par ',', en regroupant les chiffres avant la ',' par paquets de 3.

    - W
    Bonjour,
    effectivement c'est ce que j'ais fait
    donc il faut accepter ',' '.' après remplacer ',' par '.' car float ne marche qu'avec '.' de même pour les espaces des milliers il faut les supprimer après et il faut aussi vérifier que les caractères saisies appartiennent (0123456789,.) j'ai fait tous ça mais je me suis demandée s'il y a un formatage bien défini

    merci

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 285
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 285
    Points : 36 773
    Points
    36 773
    Par défaut
    Salut,

    Citation Envoyé par THCH66 Voir le message
    j'ai fait tous ça mais je me suis demandée s'il y a un formatage bien défini
    Avec les "locale":
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    >>> import locale
    >>> locale.setlocale(locale.LC_ALL, '')
    >>> print(locale.format_string('%.2f', 1234.2, grouping=True))
    1*234,20
    >>>
    mais je n'ai fait que recopier un des exemples qu'on trouve sur Internet.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2020
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2020
    Messages : 67
    Points : 32
    Points
    32
    Par défaut
    merci pour ces informations alors a titre indicatif
    le problème quand il n 'y a pas un formatage prés à l'emplois c'est qu'il faut vérifier que la saisie ne comporte pas des lettres de l’alphabet est ça ne se fait pas avec isdigit car il faut permettre la saisie de , et . puis remplacer ',' par point car float n'accepte pas ','
    encore plus il faut interdire la saisie du séparateur ',' ou '.' plus qu'une fois bref python aurais du prévoir une chose pareille car c'est quelque chose de très courant qu'on utilise souvent

    Nb: mois j'ai utilisé ça: "{:,.2f}".format(float(Montant)).replace(',', ' ').replace('.', ',') que j'ai aussi trouver après beaucoup de recherche

    merci encore une fois de plus

  6. #6
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 285
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 285
    Points : 36 773
    Points
    36 773
    Par défaut
    Salut,

    Citation Envoyé par THCH66 Voir le message
    bref python aurais du prévoir une chose pareille car c'est quelque chose de très courant qu'on utilise souvent
    Python vient avec la bibliothèque locale qui est juste faite pour çà. Sûr que ce n'est peut être pas facile à utiliser... mais partant avec l'idée que vous n'êtes pas le premier a avoir ce soucis, çà se trouve sur Internet.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

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

Discussions similaires

  1. Pb de formatage de champs de type float
    Par FrankyNormand dans le forum XMLRAD
    Réponses: 9
    Dernier message: 05/05/2005, 12h37
  2. Message 'Duplicate index entry'
    Par Poulou dans le forum Administration
    Réponses: 13
    Dernier message: 04/05/2004, 14h57
  3. problème de formatage à l'écran
    Par bidson dans le forum XMLRAD
    Réponses: 13
    Dernier message: 11/07/2003, 18h02
  4. [7RC3] Formatage de champs float
    Par Sylvain Leray dans le forum XMLRAD
    Réponses: 2
    Dernier message: 19/05/2003, 09h38
  5. pb formatage document XML généré par un dom tree
    Par lionel69 dans le forum APIs
    Réponses: 11
    Dernier message: 17/10/2002, 09h53

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