Delphi TFloatField.DisplayFormat pour les champs numériques de moins de 1,0
C'est ma procédure.
procedure format_integer_field(Atable: TDataSet);
var i: integer;
begin
if Atable.Active then
if Atable.FieldCount > 0 then
with Atable do
begin
for i:= 0 to FieldCount-1 do
if (Fields[i] is TIntegerField) then
begin
(Fields[i] as TIntegerField).DisplayFormat := '###,###';
(Fields[i] as TIntegerField).EditFormat := '#';
end
else
if (Fields[i] is TFloatField) then
begin
(Fields[i] as TFloatField).DisplayFormat := '###,###.##';
(Fields[i] as TFloatField).EditFormat := '#.##';
end;
end;
end;
C'est du bon travail, jusqu'à ce qu'un nombre comme "0.9" a été saisi et le résultat sera ".9".
Comment puis-je avoir le séparateur de milliers et de zéro avant la virgule flottante que plus petit que "1".
Je peux comprendre de vouloir un zéro, mais un séparateur de milliers pour un certain nombre qui n'a qu'un seul chiffre avant la virgule séparateur, êtes-vous sûr que vous voulez? Il serait de 0,9 ressembler à 0,000.9.
peut-être que c'est la façon dont il cherche à aligner les nombres "par la virgule" ou par toute autre stratégie
Compte tenu de l'OP aime le comportement pour les autres nombres (1 à ne pas 0,001), je doute que, mais oui, c'est possible.
Merci, je n'ai pas remarqué ce 0,000.9 et sa sera plus grand problème. Je veux juste que mes numéros semble bon.
Ne
peut-être que c'est la façon dont il cherche à aligner les nombres "par la virgule" ou par toute autre stratégie
Compte tenu de l'OP aime le comportement pour les autres nombres (1 à ne pas 0,001), je doute que, mais oui, c'est possible.
Merci, je n'ai pas remarqué ce 0,000.9 et sa sera plus grand problème. Je veux juste que mes numéros semble bon.
Ne
###,##0.0#
faire pour vous ?OriginalL'auteur user3197381 | 2014-01-28
Vous devez vous connecter pour publier un commentaire.
Le format que vous avez besoin est
###,##0.0#
OriginalL'auteur Hugh Jones
Essayer
(Fields[i] as TFloatField).DisplayFormat := '##0,000.00';
Comme vous l'avez lu dans la documentation à http://docwiki.embarcadero.com/RADStudio/XE3/en/Using_Default_Formatting_for_Numeric,_Date,_and_Time_Fields il dit
Et comment vous l'avez lu dans la documentation suivante, pages
la documentation citations
Ainsi, en utilisant le "#" dans le format que vous dire de Delphes "je n'ai pas besoin des chiffres (et les séparateurs de milliers avec eux) dans ce lieu, mais vous pouvez mettre si vous voulez" - et depuis Delphi ne veut pas mettre les zéros non significatifs - vous n'en avez pas. Toutefois, si vous avez vraiment besoin de ces chiffres et le séparateur des milliers avec eux, vous mettez "0" au lieu de "#" et de cette façon vous dire Delphi "les chiffres juste besoin d'être ici, si vous voulez les mettre ou pas"
OriginalL'auteur Arioch 'The