Добрый день.
Функции FormatBCD и FormatFloat возвращают разный результат когда получают в качестве формата строку '### ### ##0.00'.
Чтобы во всех функциях форматирования получать одинаковый формат используйте в качестве разделителя тысяч знак запятую (Ее можно прописывать один раз).
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
s1, s2, s3, s4: String;
begin
s1 := FormatBCD('### ### ##0.00', 3727105.52);
s2 := FormatFloat('### ### ##0.00', 3727105.52);
s3:= FormatBCD(',0.00', 3727105.52);
s4 := FormatFloat(',0.00', 3727105.52);
ShowMessage(s1 + sLineBreak + s2 + sLineBreak + sLineBreak + s3 + sLineBreak + s4);
end;
Результат:
Код:
[Window Title]
Project1
[Content]
3727105 ,52
3 727 105,52
3 727 105,52
3 727 105,52
[OK]
В библиотеке для форматирования футеров используется функция FormatBCD