Добрый день.
В футерах грида используется формат TBcd чтобы избежать ошибок округления.
Числовой формат с пробелом '# ### ### ##0.00;-# ### ### ##0.00; ' работает по разному в функциях FormatFloat и FormatBcd.
Delphi 11
Код:
ShowFormated('# ### ### ##0.00;-# ### ### ##0.00; ');
procedure TForm1.ShowFormated(Format: string);
var
FloatVal: Extended;
BcdVal: TBcd;
s1, s2: String;
begin
FloatVal := 123456789.12;
BcdVal := 123456789.12;
s1 := FormatFloat(Format, FloatVal);
s2 := FormatBcd(Format, BcdVal);
ShowMessage(s1 + sLineBreak + s2);
end;
Result:
123 456 789.12
123456789.12
Формат: '#,###.###'
работает одинаково для обеих функций.
Не могу точно сказать это фитча или бага в VCL.
Тут можно предложить несколько вариантов:
1. В исходниках DBGridEh поменять FormatBcd на FormatFloat.
2. Использовать формат '#,###.###' и FormatSettings.ThousandSeparator := ' ';