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

Bases de données Delphi Discussion :

Afficher un montant 3 chiffres apres la virgule


Sujet :

Bases de données Delphi

  1. #1
    Inscrit
    Inscrit en
    Juin 2007
    Messages
    103
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 103
    Points : 77
    Points
    77
    Par défaut Afficher un montant 3 chiffres apres la virgule
    bon soir a tous ,
    est il possible d'afficher un montant currency avec 3 chiffres apres la virgule ?
    j'utilise Interbase 7.5 et delphi 7.
    la definition de mon champs dans la base est :
    Montant NUMERIC(15, 2).

  2. #2
    Membre chevronné Avatar de philnext
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    1 552
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 552
    Points : 1 780
    Points
    1 780
    Par défaut
    Je ne connais pas Interbase (et ça n'a rien à voir) mais tu peux afficher ce que tu veux avec autant de chiffres après la virgule que tu le désires...

  3. #3
    Expert confirmé

    Profil pro
    Leader Technique
    Inscrit en
    Juin 2005
    Messages
    1 756
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Leader Technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 756
    Points : 4 173
    Points
    4 173
    Par défaut
    Citation Envoyé par MonPc Voir le message
    bon soir a tous ,
    est il possible d'afficher un montant currency avec 3 chiffres apres la virgule ?
    j'utilise Interbase 7.5 et delphi 7.
    la definition de mon champs dans la base est :
    Montant NUMERIC(15, 2).
    Comme l'a dit philnext, tu affiches ce que tu veux.

    En revanche, si tu ton type de données en base est un NUMERIC(15,2), la base de données ne stockera que 2 décimales, donc en afficher 3 ne me semble pas très cohérent.

  4. #4
    Membre émérite
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mai 2008
    Messages
    2 401
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 401
    Points : 2 310
    Points
    2 310
    Par défaut
    Citation Envoyé par MonPc Voir le message
    bon soir a tous ,
    est il possible d'afficher un montant currency avec 3 chiffres apres la virgule ?
    j'utilise Interbase 7.5 et delphi 7.
    la definition de mon champs dans la base est :
    Montant NUMERIC(15, 2).
    Attention l'ami afficher n'est pas synonyme d'arrondie ! si tu veux travailler avec 3 chiffre après la virgule, tu dois songer soit à tronquer ton chiffre ou à l'arrondir tout dépend de ce que tu veux, quand à l'affichage c'est visuel et pour ça tu as les fonctions de formatage et les masques. A toi de nous dire ce que tu veux exactement.

  5. #5
    Inscrit
    Inscrit en
    Juin 2007
    Messages
    103
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 103
    Points : 77
    Points
    77
    Par défaut
    Bon soir a tous ,
    Merci baucoup pour vos reponse ,
    je cherche pas l'affichage visuel je cherche a stocker en 3 chiffres apres la virgule (dans la base de donnée) .
    et en plus je cherche a interdir interbase d'arrondir mes chiffres (meme 2 chiffres apres la virgule).
    est ce que je suis obliger de faire une restructuration dans la base (Tables , procedure stockés..)? je crois que c'est difficile.....
    encore une fois Merci a vous.

  6. #6
    Membre chevronné Avatar de philnext
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    1 552
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 552
    Points : 1 780
    Points
    1 780
    Par défaut
    oula....
    Si tu veux stocker 3 chiffres modifies ta base de données sinon tu pars dans des manip. un peu complexes à long terme.
    De plus tout logiciel (BDD, Delphi, Windows) arrondit les chiffres simplement pour pouvoir les stocker !

    Par contre je crois que tu n'es pas dans le bon forum là.

  7. #7
    Membre averti Avatar de archonte
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    341
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 341
    Points : 392
    Points
    392
    Par défaut
    et pourquoi ne pas stocker des entiers ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Valeur à Stocker = partie entière de : 1000 x Valeur Réelle
    à diviser par 1000 lors de la relecture.
    C'est un système que j'utilise parfois pour éviter de stocker des réels, d'occuper de la place, et de risquer des arrondis non maitrisés surtout s'il faut comparer ces différentes valeurs entre elles ou avec des valeurs entrées par l'utilisateur dans un TEdit.

  8. #8
    Membre émérite
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mai 2008
    Messages
    2 401
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 401
    Points : 2 310
    Points
    2 310
    Par défaut
    Citation Envoyé par archonte Voir le message
    et pourquoi ne pas stocker des entiers ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Valeur à Stocker = partie entière de : 1000 x Valeur Réelle
    à diviser par 1000 lors de la relecture.
    C'est un système que j'utilise parfois pour éviter de stocker des réels, d'occuper de la place, et de risquer des arrondis non maitrisés surtout s'il faut comparer ces différentes valeurs entre elles ou avec des valeurs entrées par l'utilisateur dans un TEdit.
    +1 archonte

    et j'ajoute, si ton programme touche d'une façon ou d'une autre à la comptabilité

  9. #9
    Expert confirmé

    Profil pro
    Leader Technique
    Inscrit en
    Juin 2005
    Messages
    1 756
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Leader Technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 756
    Points : 4 173
    Points
    4 173
    Par défaut
    Citation Envoyé par archonte Voir le message
    et pourquoi ne pas stocker des entiers ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Valeur à Stocker = partie entière de : 1000 x Valeur Réelle
    à diviser par 1000 lors de la relecture.
    C'est un système que j'utilise parfois pour éviter de stocker des réels, d'occuper de la place, et de risquer des arrondis non maitrisés surtout s'il faut comparer ces différentes valeurs entre elles ou avec des valeurs entrées par l'utilisateur dans un TEdit.
    Les nombres en virgules fixes sont faits pour ça.
    Dans Delphi, ce sont les types Currency.
    Dans les bases de données, ce sont les types NUMERIC(XXX, YY) où YY désigne le nombre de chiffres après la virgule à stocker.
    Le principe est le même, sauf que tout est géré automatiquement par le compilateur ou le SGBD.

    Les nombres en virgules fixe contiennent toujours des valeurs Exactes, sans aucun arrondi non maîtrisé.
    Seuls les virgules flottantes (Float, Double, Extended...) sont des valeurs approchées avec des arrondis implicites plus ou moins hasardeux.

  10. #10
    Inscrit
    Inscrit en
    Juin 2007
    Messages
    103
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 103
    Points : 77
    Points
    77
    Par défaut
    Bonjour,
    Merci baucoup a vous tous.

  11. #11
    Membre averti Avatar de archonte
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    341
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 341
    Points : 392
    Points
    392
    Par défaut
    Citation Envoyé par Franck SORIANO Voir le message
    Les nombres en virgules fixes sont faits pour ça.
    Dans Delphi, ce sont les types Currency.
    Dans les bases de données, ce sont les types NUMERIC(XXX, YY) où YY désigne le nombre de chiffres après la virgule à stocker.
    Le principe est le même, sauf que tout est géré automatiquement par le compilateur ou le SGBD.

    Les nombres en virgules fixe contiennent toujours des valeurs Exactes, sans aucun arrondi non maîtrisé.
    Seuls les virgules flottantes (Float, Double, Extended...) sont des valeurs approchées avec des arrondis implicites plus ou moins hasardeux.
    OK pour Currency, mais qui ne gère en Delphi que 4 chiffres après la virgule. S'il faut 5 chiffres ou plus derrière la virgule -- sans arrondi -- comment faire ?

  12. #12
    Expert confirmé

    Profil pro
    Leader Technique
    Inscrit en
    Juin 2005
    Messages
    1 756
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Leader Technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 756
    Points : 4 173
    Points
    4 173
    Par défaut
    Citation Envoyé par archonte Voir le message
    OK pour Currency, mais qui ne gère en Delphi que 4 chiffres après la virgule. S'il faut 5 chiffres ou plus derrière la virgule -- sans arrondi -- comment faire ?
    Il reste le TFmtBCD. Mais je t'accorde que celui là n'est pas nécessairement plus pratique à manipuler que de passer par un entier.

  13. #13
    Nouveau Candidat au Club
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Décembre 2013
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 1
    Points : 1
    Points
    1
    Par défaut resolu
    bon promo
    tu as la fonction de delphi :

    showMessage(floatToStr(SimpleRoundTo(1.236,-2)));
    // Affiche 1.24

    sinon si tu veux par ex: 1.236 pour afficher 1.23 : trouve toi avec sa

    Label1.Caption:= copy(edit1.Text, 1 , (pos(',',Edit1.Text)+2)) ;

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 23/01/2008, 17h15
  2. N'afficher que 2 chiffres après la virgule
    Par matimat2k4 dans le forum Langage SQL
    Réponses: 8
    Dernier message: 28/12/2007, 14h01
  3. Réponses: 4
    Dernier message: 06/12/2007, 20h23
  4. Réponses: 5
    Dernier message: 19/06/2007, 08h59
  5. Commande pour afficher des chiffres apres la virgule
    Par manar dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 23/09/2004, 18h28

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