Information about format can be found
here.
But, for your specific case, it might perhaps be easier to use
formatfloat function:
program test;
{$MODE OBJFPC}{$H+}
uses
SysUtils;
// e.g. Input is 10000
// output must be '10 000 rub. '
Function Int2CurrencyStr(Value: integer): string;
begin
Result := FormatFloat('#,### rub', Extended(Value));
end;
begin
WriteLn(Int2CurrencyStr(10000));
end.
In case you do wish to use the format function, then afaik you should be looking at %M argument, not %F. Since things are depending on (your global)
formatsettings, it complicates things a little.
But, perhaps the showed example is enough for you to work with.