bonjour, je souhaiterai afficher les zero apres la virgule :
pour 600 afficher 600,00
j'ai cherché sur le forum et je n'ai pas trouvé.
dans une table Paradox en Delphi7
merci d'avance.
bonjour, je souhaiterai afficher les zero apres la virgule :
pour 600 afficher 600,00
j'ai cherché sur le forum et je n'ai pas trouvé.
dans une table Paradox en Delphi7
merci d'avance.
Bonjour,
De mémoire et à tester.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 var valeur: Real begin Valeur := 600; ShowMessage(FormatFloat('0.00', Valeur)); end;
André
salut
je présume que vous utilisez un objet TTable, si c'est le cas :
double clique sur l'objet en suite clique droit ajouter des champs, vous ajoutez tous vos champs, selectionnez celui-que vous voullez mettre en forme vous mettez "#,##0.00" la la propréité DisplayMask si je me souviens bien.
a@
je regrette mais je connais formatfloat mais la propriete display je ne l'ai pas trouve pour une table paradox en delphi.
la valeur fieldvalues['montant']:=edit2.text; ne se mets pas avec 2 zeros
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 a:=(strtofloat(edit1.Text)*strtofloat(dbedit1.Text)); edit2.Text:=floattostr(a); edit2.text:=formatfloat('0.00',a); with table3 do begin append; fieldvalues['Designation']:=dblookupcombobox1.text; fieldvalues['Quantite']:=edit1.text; fieldvalues['Prix_Unit']:=dbedit1.text; fieldvalues['Montant']:=edit2.Text; fieldvalues['Item']:=edit7.text; post; end;
apres virgule cad 600,00.
Essaye en enlevant:
edit2.Text:=floattostr(a);
André
vous avez mal saisie ce que je vouais dire
suit cest étapes point par point.
- double clique sur ta table3.
- ensuite vous aurez une petite fenêtre qui vas apparaitre, dans celle-ci tu clique droit avec la souris.
- dans le PopupMenu tu choisi ajouter des champs.
- une autres fenêtre t'invite a sélectionné les champs à ajouter, vous les ajoutez tous CTRL+L.
- ensuite dans la petit fenêtre vous sélectionnez votre champs.
- dans l'inspecteur d'objet vous les propriétés du champs, cherchez DisplayFormat et vous mettez "#,##0.00" sans les quottes.
Pour Mr Andreditdd
j'ai essayé d'enlever edit2.text:=floattostr(a); mais ça n'a rien donné
au niveau de l'edit l'ecriture est 600,00 mais dans la table 600.
je vous remercie .
A Mr Ait Yahia
j'ai suivi toutes les étapes et apres selection le champs montant je ne trouve pas la propriété Displayformat dans l'inspecteur d'objet.je vous informe que je travaille en Delphi7 édition entreprise version française 2002
salut,
1-double clique sur ta table.je souhaiterai afficher les zero apres la virgule :
pour 600 afficher 600,00
2-tu verras une petite fenêtre qui apparaitra, dans celle-ci, clique sur le champ en question.
3-dans l'inspecteur d'objet, dans la propriété "DisplayFormat", saisis ""#,##0.00".
Bonne chance.
NABIL74
A Nabil
Salut
je n'ai pas trouvé displayformat dans l'inspecteur d'objet en faisant ce que tu m'as demandé de faire
quel est le type de ton champ? float?
a+
NABIL74
Que la valeur dans la base de données ne prenne pas les zéros après la virgule me semble normal et somme toute quelle importance ?la valeur fieldvalues['montant']:=edit2.text; ne se mets pas avec 2 zeros apres virgule cad 600,00.
par contre pour l'affichage , que de complications ....
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 edit2.text:=format('%3.2f',[table3.fieldvalues['Montant']]);
Bonjour,
Je pense que vous n'avez pas bien compris ce que aityahia voulait dire.
en gros on peut dire que généralement on se connecte à une base de donné via un composant TTable ou Tquery, qui sont tous deux des TDataSource.
L'interface entre la base de donnée (paradox/oracle ou autre) est établie pat le TDatasource utilisé.
quelque soit la base de donnée qui est connecté, le TDataSsource vas créer des champs dérivé de TField permettent de gérer le champs dans la base. Le type de champs générer dépend du type de champs de la base, et donc de la base.
Par exemple suivant la base de donnée utiliser et le type de champs défini dans la base un champs entier pourrat correspondre à un TSmallIntField ou à un TIntegerField.
Ce n'est pas important. Ce qui est important c'est que tout les champs (Généré automatiquement par delphi) correspondant à un champs numérique comprenne une propriété DisplayFormat.
Essayer par exemple quelque chose du genre
Cela correspondra peeut être a votre besoin.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Myquery.fieldByName['Montant'].DisplayFormat := '00.##';
bonjour à toutes et à tous,
@ Tardiff Jean-François, ta solution ne marche pas:
la solution que nous avons proposée à Madjid52 marche très bien par contre chez lui ça bloque car je suis certain que le type de son champ est de type "string" et ce genre de type n'a pas de propriété "DisplayFormat" dans l'inspecteur d'objets.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Myquery.fieldByName['Montant'].DisplayFormat := '00.##';
on peut lui proposer une autre solution qui marche aussi, c'est d'ajouter "TFloatField" pour le champ "Montant":a+
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 procedure TForm1.Button1Click(Sender: TObject); begin TFloatField(Table1.fieldByName('Montant')).DisplayFormat:='#,##0.00'; end;
NABIL74
si le champs est un champs string, transtyper le champs ne fonctionnera pas.
Les dérivé de TField dédier au string n'ayant pas de display format.
Display format ne fonctionne qu'avec les dérivé de TNumericField (TField -> TNumericField -> TFloatFiled TCurencyFiled etc..)
Si le type du champs est un string, je ne vois guère qu'un champs calculé pour le satisfaire. Mais c'est un champs en lecture et non en lecture / écriture.
Cela luis conviendrait il ?
Ceci dis je trouve un peux étonnant de formater un champs string en numérique. les risque d'erreur de conversion ne sont pas négligeable.
A Mr Nabil74
je vous remercie vivement de votre idée maintenant les valeurs de la table
sont avec 2 zeros apres virgule mais en faisant visualiser l'etat
par form7.quickrep1.Preview;les champs de la table comme Montant ne se mets pas à 600,00.pour le type de champ de la table Paradox il est de type (N)
numerique
salut,
Madjid52, si tu gardes le type de ton champ qui est numérique, il ne va pas t'afficher le format que tu souhaites voir à l'écran:'#,##0.00',donc, il n'accepte pas des chiffres après le séparateur décimal.la solution c'est que tu dois le changer en "float" pour qu'il accepte des chiffres après le séparateur décimal.A Mr Nabil74
je vous remercie vivement de votre idée maintenant les valeurs de la table
sont avec 2 zeros apres virgule mais en faisant visualiser l'etat
par form7.quickrep1.Preview;les champs de la table comme Montant ne se mets pas à 600,00.pour le type de champ de la table Paradox il est de type (N)
numerique
a+
NABIL74
A NABIL74
Salut
je travaille avec les tables en Paradox ou le type de champ (N) qui correspond
au valeur entier et décimal je ne trouve pas de problème pour par exemple
600,25 dans la table et dans l'etat le probleme pour les zeros apres virgule.
Merci.
Madjid52, pour le champ "Montant", les valeurs doivent-êtres flottantes, genre:"1235.26" , "158.99"... et non numériques:"1235" , "158".
Sous Paradox ce type est "DCB" =>" # "
le champ de type numérique n'affiche que des valeurs entières comme "122" et non "122.25".
c'est simple, change le type de ce champ en "FLOAT" ou en "Monétaire" et le tour est joué!
comme ça, tu n'auras aucun soucis concernant l'affichage soit dans ta table ou dans Quickreport.
Bonne chance.
NABIL74
A Mr NABIL74
je vous remercie très chaleureusement pour vos bonnes idées.
de toute manière j'ai trouvé la solution pour quickrep j'ai introduit dans la propriété Mask de l'inspecteur d'objet en sélection Montant la valeur
## ####.00 et ça a marché très bien maintenant j'ai terminé ma facture .
je remercie tous les membres qui m'ont répondu .
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