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

  1. #1
    Membre averti
    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
    Points : 365
    Points
    365
    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 éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 729
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 729
    Points : 15 132
    Points
    15 132
    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
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  3. #3
    Membre chevronné

    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
    Points : 1 884
    Points
    1 884
    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 averti
    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
    Points : 365
    Points
    365
    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 chevronné

    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
    Points : 1 884
    Points
    1 884
    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 averti
    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
    Points : 365
    Points
    365
    Par défaut
    Mais comme je suis sous Linux...
    sinon je change avec une routine ..

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

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 3 953
    Points : 9 283
    Points
    9 283
    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
    Jurassic computer : Sinclair ZX81 - Zilog Z80A à 3,25 MHz - RAM 1 Ko - ROM 8 Ko

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

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 729
    Points : 15 132
    Points
    15 132
    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.
    Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peutêtre qu'il peut être sûr, etc.
    Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
    Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
    On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
    Mes 2 cts,
    --
    jp

  9. #9
    Membre averti

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

    Informations professionnelles :
    Activité : Diverses

    Informations forums :
    Inscription : Février 2014
    Messages : 122
    Points : 428
    Points
    428
    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 averti
    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
    Points : 365
    Points
    365
    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