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

Langage Delphi Discussion :

FormatFloat affiche une valeur négative


Sujet :

Langage Delphi

  1. #1
    Membre éprouvé Avatar de defluc
    Homme Profil pro
    Architecte
    Inscrit en
    Mai 2002
    Messages
    1 383
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 383
    Points : 1 199
    Points
    1 199
    Par défaut FormatFloat affiche une valeur négative
    Bonjour,

    A partir d'un montant élévé, un signe moins ('-') m'est affiché devant la valeur avec le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FormatFloat('#,###,###,##0.000', TotalSize)
    Pourtant, la valeur est positive.

    Pourrait-on me dire ce qui m'échappe ?

    Merci d'avance

  2. #2
    Membre chevronné

    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    1 519
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 519
    Points : 2 153
    Points
    2 153
    Billets dans le blog
    1
    Par défaut
    De quel type est TotalSize et à partir de quelle valeur cela se produit-il ?

  3. #3
    Membre éprouvé Avatar de defluc
    Homme Profil pro
    Architecte
    Inscrit en
    Mai 2002
    Messages
    1 383
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 383
    Points : 1 199
    Points
    1 199
    Par défaut
    TotalSize est une variable LongInt.
    C'est au delà d'une certaine valeur que le problème se pose.

  4. #4
    Membre chevronné

    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    1 519
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 519
    Points : 2 153
    Points
    2 153
    Billets dans le blog
    1
    Par défaut
    Alors il te faut un type encore plus grand, ce genre "d'erreur" se produit justement lorsqu'on arrive au bout de la capacité de la variable. En effet le dernier bit de poids fort sert en fait à distinguer si la valeur est positive ou négative or dès que la valeur devient assez grande pour mettre un 1 dans le bit de poids fort et bien le système interprète la valeur comme étant négative.

  5. #5
    Membre éprouvé Avatar de defluc
    Homme Profil pro
    Architecte
    Inscrit en
    Mai 2002
    Messages
    1 383
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 383
    Points : 1 199
    Points
    1 199
    Par défaut
    C'est tellement bête que je n'y avais pas pensé.
    Avec ma variable déclarée en "Double", l'erreur est levée.

    Merci à toi

  6. #6
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    Citation Envoyé par defluc Voir le message
    TotalSize est une variable LongInt.
    C'est au delà d'une certaine valeur que le problème se pose.
    Citation Envoyé par defluc Voir le message
    Avec ma variable déclarée en "Double", l'erreur est levée.
    Si tu travailles avec des entiers pourquoi avoir choisi un type Double ?
    De Integer (ou LongInt) je serais plutôt passer à un Cardinal ou Int64.

    @+ Claudius.

  7. #7
    Membre éprouvé Avatar de defluc
    Homme Profil pro
    Architecte
    Inscrit en
    Mai 2002
    Messages
    1 383
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 383
    Points : 1 199
    Points
    1 199
    Par défaut
    Tu as raison Claudius.

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

Discussions similaires

  1. [dblookup] afficher une valeur par programmation
    Par let_me_in dans le forum Bases de données
    Réponses: 1
    Dernier message: 11/05/2005, 14h42
  2. [TMS320C31] Afficher une valeur à l'écran
    Par miminou dans le forum Autres architectures
    Réponses: 3
    Dernier message: 17/04/2005, 18h48
  3. [TP] Afficher une valeur avec outtext
    Par Bouilla dans le forum Turbo Pascal
    Réponses: 4
    Dernier message: 06/03/2005, 09h57
  4. Réponses: 3
    Dernier message: 28/01/2004, 14h55
  5. Afficher une valeur du context
    Par [DreaMs] dans le forum XMLRAD
    Réponses: 13
    Dernier message: 28/04/2003, 13h49

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