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

Delphi Discussion :

Manipulation de nombres


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Retraité
    Inscrit en
    Janvier 2019
    Messages
    219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Janvier 2019
    Messages : 219
    Par défaut Manipulation de nombres
    Bonjour à tous,
    J'ai un problème avec l'affichage d'un nombre à partir de 1000 car je retrouve le nombre avec un espace comme séparateur de millier et donc une erreur "1 196 n'est pas une valeur en virgule flottante correcte'. Même en configurant les paramétres régionaux, que nenni. Je me souviens avoir résolu le problème mais je ne me souviens plus comment ! Le système est Windows 7 et l'affichage se fait dans un TLabel.
    Auriez-vous (mais je n'en doute pas) la solution ?
    Merci. Cordialement

  2. #2
    Membre confirmé
    Homme Profil pro
    Retraité
    Inscrit en
    Janvier 2019
    Messages
    219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Janvier 2019
    Messages : 219
    Par défaut
    La mémoire est revenue, problème résolu :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    lblMontantTotalSortie1.Caption := Format('%.0f',[TotalReglement1]);
    Cordialement à tous

  3. #3
    Membre éclairé

    Inscrit en
    Novembre 2002
    Messages
    815
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 815
    Par défaut
    bonsoir

    D'où récupères tu une valeur sous ce format dans Delphi ?
    D'un fichier ?
    Est-ce une 'chaine' ou un nombre ?

    A+

  4. #4
    Membre confirmé
    Homme Profil pro
    Retraité
    Inscrit en
    Janvier 2019
    Messages
    219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Janvier 2019
    Messages : 219
    Par défaut
    Bonjour,
    La variable <TotalReglement1> est un nombre issu de calculs, stocké dans une base de données et que je récupère dans la caption du TLabel <lblMontantTotalSortie1> pour affichage sur un tableau de bord. C'est là que j'avais un espace comme séparateur de millier, ce qui m'interdisais des calculs ultérieurs.
    C'est peut-être une solution barbare mais ça fonctionne.
    Cordialement

  5. #5
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 638
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 638
    Billets dans le blog
    65
    Par défaut
    Bonjour,

    je présume qu'avant ton utilisation de format tu utilisais quelque chose comme lblMontantTotalSortie1.Caption:=FloatToStr(TotalReglement1) ?
    Sans savoir que ce même FloatToStr dans les versions "modernes" de Delphi peut être utilisée avec un TFormatSettings.
    De même il me parait surprenant qu'il y ait un séparateur de milliers, quoique cela dépende de plusieurs facteurs dont les paramètres de windows et le type de TotalReglement1 (currency ?)

    La variable <TotalReglement1> est un nombre issu de calculs, stocké dans une base de données
    là je tique, un nombre issu de calcul, cela ne devrait pas être dans une base de données, mais je pense qu'il doit manquer une partie de phrase genre "issu de calculs entre colonnes d'une base de données" (ou quelque chose d'approchant)

  6. #6
    Membre confirmé
    Homme Profil pro
    Retraité
    Inscrit en
    Janvier 2019
    Messages
    219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Janvier 2019
    Messages : 219
    Par défaut
    Bonjour SergioMaster,
    Oui bien sûr, il manquait une précision : le nombre est issu de calculs entre 2 colonnes, voire plus. Et effectivement j'utilisais FloatToStr, et j'ignorais le reste (TFormatSettings). Je me rancarde tout de suite. Même si tout fonctionne, on peut toujours améliorer.

  7. #7
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 638
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 638
    Billets dans le blog
    65
    Par défaut
    Ouf, je suis rassuré

    Pour ce qui est du TFormatSettings c'est surtout pour signaler cette possibilité, le bon vieux format est presque plus simple.
    Juste une chose Format('%.0f',[TotalReglement1]) pour un montant c'est donc un arrondi financier à l'entier ?

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

Discussions similaires

  1. Manipuler des nombres > Long.MAX_VALUE
    Par J_Lennon dans le forum Langage
    Réponses: 2
    Dernier message: 13/06/2009, 01h21
  2. [Langage] Manipulation de nombres
    Par adil1251985 dans le forum Langage
    Réponses: 8
    Dernier message: 19/11/2008, 16h07
  3. Réponses: 4
    Dernier message: 01/10/2007, 17h57
  4. Manipuler des nombres en notation scientifique
    Par enrikomic dans le forum Mathématiques - Sciences
    Réponses: 6
    Dernier message: 11/07/2007, 13h14
  5. Réponses: 1
    Dernier message: 17/03/2006, 22h23

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