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

Lazarus Pascal Discussion :

Formater un tlabel avec 2 décimales [Lazarus]


Sujet :

Lazarus Pascal

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Avatar de joreveur
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2010
    Messages
    293
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2010
    Messages : 293
    Par défaut Formater un tlabel avec 2 décimales
    Bonjour
    j'ai un Tlabel qui est modifié par un calcul
    voila ce que je fais dans un morceau de code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    cm:=round((ct/n)*100)/100;
     label9.caption:=FloatToStr(cm);
    cela fonctionne bien mais je voudrais que dans tous les cas avoir toujours 2 décimales à l'affichage
    6.00 ou 6.10 ou 6.23 par exemple.

    merci de vos conseils
    Bien à vous

  2. #2
    Expert confirmé
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    11 129
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 11 129
    Par défaut
    Yop !

    Essaye donc
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    cm:=round((ct/n)*100)/100;
    label9.caption:=Format('%*.*f', [2, 2, cm]);
    Il y a qq temps j'avais testé ce formattage avec 123.456, et ça m'affichait 123.46.
    Je viens de tester avec 123 et ça affiche 123.00, c'est ce que tu cherches, je crois...

    Plus de détails avec sur Format

  3. #3
    Membre Expert

    Homme Profil pro
    au repos
    Inscrit en
    Février 2014
    Messages
    429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : au repos

    Informations forums :
    Inscription : Février 2014
    Messages : 429
    Par défaut
    Bonjour,

    Autre solution :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Label1.Caption:= FloatToStrF(cm, ffNumber, 12, 2)
    Si tu ne veux pas de séparateur de milliers, remplace ffNumber par ffFixed.

    Cordialement
    Thierry

  4. #4
    Membre très actif
    Avatar de joreveur
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2010
    Messages
    293
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2010
    Messages : 293
    Par défaut
    Merci les 2 méthodes fonctionnent parfaitement

    Exemple le résultat me sort 123,456.20
    et si je voulais 123.456,20 ? (à la française ? ) c'est un paramètre à changer quelque part je suppose ?

    Merci

  5. #5
    Membre Expert

    Homme Profil pro
    au repos
    Inscrit en
    Février 2014
    Messages
    429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : au repos

    Informations forums :
    Inscription : Février 2014
    Messages : 429
    Par défaut
    Le mieux, c'est de modifier au niveau de l'OS.
    Sous Windows, cela se trouve dans les paramètres régionaux (win7 : horloge, langue, région).

  6. #6
    Membre très actif
    Avatar de joreveur
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2010
    Messages
    293
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2010
    Messages : 293
    Par défaut
    Mais comme je suis sous Linux...
    sinon je change avec une routine ..

  7. #7
    Expert confirmé
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    4 226
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 4 226
    Par défaut
    hello,
    tu peux changer les séparateurs des milliers et des décimales avec les propriétés globales DecimalSeparator et ThousandSeparator:

    exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    DecimalSeparator := ',';
    ThousandSeparator := '.';
    Ami calmant, J.P

  8. #8
    Expert confirmé
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    11 129
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 11 129
    Par défaut
    Citation Envoyé par joreveur Voir le message
    et si je voulais 123.456,20 ? (à la française ? )
    123 456,20

    À la française, y a pas de point pour le séparateur des milliers, c'est une (oui, une) espace.

  9. #9
    Membre expérimenté

    Homme Profil pro
    Diverses
    Inscrit en
    Février 2014
    Messages
    122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Diverses

    Informations forums :
    Inscription : Février 2014
    Messages : 122
    Par défaut
    Pour l'affichage à la française sous linux il suffit d'inclure l'unité clocale.

    Voir ici : http://www.freepascal.org/docs-html/...ale/index.html

  10. #10
    Membre très actif
    Avatar de joreveur
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2010
    Messages
    293
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2010
    Messages : 293
    Par défaut
    Merci
    en mettant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    {$ifdef unix}clocale{$endif}
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Label9.Caption:= FloatToStrF(cm, ffNumber, 12, 2);
    ça fonctionne parfaitement sous Linux !
    je vais garder cette solution

    merci à tous pour vos réponses.

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

Discussions similaires

  1. Réponses: 8
    Dernier message: 08/10/2014, 14h17
  2. [Toutes versions] Format avec deux décimales et virgule sans zéro, sauf pour les entiers
    Par Invité dans le forum Excel
    Réponses: 4
    Dernier message: 06/03/2014, 01h23
  3. [HTML 4.0] Balise pour formater un chiffre en milliers avec 2 décimales
    Par ROUISSAM dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 05/09/2009, 09h36
  4. Requête : Format Nombre avec 14 décimales !
    Par PascaLem dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 28/03/2009, 12h06
  5. Format d'un chiffre avec partie décimale
    Par arezki76 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 03/04/2007, 12h41

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