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).
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).
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...
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.
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.
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à.
et pourquoi ne pas stocker des entiers ?
à diviser par 1000 lors de la relecture.
Code : Sélectionner tout - Visualiser dans une fenêtre à part Valeur à Stocker = partie entière de : 1000 x Valeur Réelle
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.
Bonjour,
Merci baucoup a vous tous.
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)) ;
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager