Le nombre decimal sur un "Tlabel" [Résolu]

Signaler
Messages postés
75
Date d'inscription
samedi 28 juin 2008
Statut
Membre
Dernière intervention
16 août 2011
-
Messages postés
4199
Date d'inscription
samedi 16 octobre 2004
Statut
Modérateur
Dernière intervention
2 janvier 2019
-
Salut!

Ma question est vraiment objective.
Comment faire pour avoir un nombre décimal.
Dans les codes ci-bas, je reçois un nombre final comme ceci par exemple: 5000,00

Jenny:= StrToFloatDef(Quantite.Text, 0.0) * StrToFloatDef(vente.Text, 0.0);
resultat.Caption:= FloatToStrF(jenny, fffixed, 15, 2);

Et alors, comment faire pour avoir ceci: 5.000,00 au lieu de 5000,00
Je le fais personnellement avec Quick Report ou autres générateurs d'état avec ceci: #,###,###.00

Merci,
Étudiant
Delphi le revolutionnaire, Delphi le Conquérant

6 réponses

Messages postés
4199
Date d'inscription
samedi 16 octobre 2004
Statut
Modérateur
Dernière intervention
2 janvier 2019
28
tout a fait! format s'y prete bien encore une fois,

on peut également préciser un Format (TFormatSettings) pour dire :

séparateur de millier (thousandseparator ?) = "."
séparateur décimale (decimalseparator) = ","

et donner à format :

var
  dotAndComa: TFormatSettings;
begin
  dotAndComa.decimalSeparator := ',';
  dotAndComa.thousandSeparator := '.';

  S := format('%.2f',[value], dotAndComa);
  // S retournera : X.XXX.XXX,XX
end;


________________________________________________________
besoin de câbles audio, vidèo, informatique pas cher ?
Messages postés
75
Date d'inscription
samedi 28 juin 2008
Statut
Membre
Dernière intervention
16 août 2011

Sincèrement merci,

Voici ce que j'ai fait en suivant vos orientations.
Ça marche en parfaite santé.

Merci Cirec, merci Foxi.

var jenny : double;
begin
Jenny:= StrToFloatDef(edit1.Text, 0.0) * StrToFloatDef(edit2.Text, 0.0);
Resultat.Caption := format('%n', [jenny]);
end;

Étudiant
Delphi le revolutionnaire, Delphi le Conquérant
Messages postés
4199
Date d'inscription
samedi 16 octobre 2004
Statut
Modérateur
Dernière intervention
2 janvier 2019
28
@caribensila : hahahaha ouai pas mal!

@Lunasoft:
l'idéal pour ce genre de truc :

procedure TForm1.EditFloatChange(Sender: TObject); // assigné à Edit1.onChange et Edit2.onChange
var A,B : extended;
begin
  if TryStrToFloat(Edit1.text, A) and TryStrToFloat(edit2.text, B) then
  begin
    resultat.Caption := format('%n', [A * B]);
  end
  else
    resultat.Caption := '?';
end; 

________________________________________________________
besoin de câbles audio, vidèo, informatique pas cher ?
Messages postés
2527
Date d'inscription
jeudi 15 janvier 2004
Statut
Membre
Dernière intervention
16 octobre 2019
13
Eh ! f0xi !
T'as vu le nombre de visites sur ton tuto ?
23 127 !

En fait, c'est moi.
Comme je n'arrive pas à mémoriser ces foutus formats, j'y vais tous les jours depuis le début.



_______________________________________
Soutenez Wikimédia France aujourd'hui : http://dons.wikimedia.fr
Messages postés
75
Date d'inscription
samedi 28 juin 2008
Statut
Membre
Dernière intervention
16 août 2011

Olala, lala Foxi!

Encore une bonne "merde".
J'ai essayé aussi celui là. Ça marche comme sur des roulettes. Dis donc, vous êtes tous des amoureux des codes Delphi.

Merci,


Étudiant
Delphi le revolutionnaire, Delphi le Conquérant
Messages postés
4199
Date d'inscription
samedi 16 octobre 2004
Statut
Modérateur
Dernière intervention
2 janvier 2019
28
Programmeur amateur devenus programmeur pro.

C'est a moi que l'on demande de petits outils pratique pour augmenter la productivité de la gestion des données dans mon entreprise.

Mais il faut travailler, travailler et encore travailler pour maitriser etc.

________________________________________________________
besoin de câbles audio, vidèo, informatique pas cher ?