Auch mit derselben Währung müssen Sie möglicherweise Werte mit einem anderen Format (z. B. Trennzeichen) anzeigen, daher würde ich empfehlen, dass Sie LOCALE anstelle der Währung nur mit Ihren Werten verknüpfen.
Sie können eine einfache Ganzzahl verwenden, um die LCID (Gebietsschema-ID) zu speichern. hier
die Liste Siehe: http://msdn.microsoft.com/en-us/library/0h88fahh.aspx
dann die Werte angezeigt werden, so etwas wie verwenden:
function CurrFormatFromLCID(const AValue: Currency; const LCID: Integer = LOCALE_SYSTEM_DEFAULT): string;
var
AFormatSettings: TFormatSettings;
begin
GetLocaleFormatSettings(LCID, AFormatSettings);
Result := CurrToStrF(AValue, ffCurrency, AFormatSettings.CurrencyDecimals, AFormatSettings);
end;
function USCurrFormat(const AValue: Currency): string;
begin
Result := CurrFormatFromLCID(AValue, 1033); //1033 = US_LCID
end;
function FrenchCurrFormat(const AValue: Currency): string;
begin
Result := CurrFormatFromLCID(AValue, 1036); //1036 = French_LCID
end;
procedure TestIt;
var
val: Currency;
begin
val:=1234.56;
ShowMessage('US: ' + USCurrFormat(val));
ShowMessage('FR: ' + FrenchCurrFormat(val));
ShowMessage('GB: ' + CurrFormatFromLCID(val, 2057)); // 2057 = GB_LCID
ShowMessage('def: ' + CurrFormatFromLCID(val));
end;