インどのようにすることができますい通貨のデータを掲載しているタイプの異なる通貨と異なる形態?
質問
私は書く必要があるデルファイアプリを引くの応募から様々なテーブルデータベースは、異なる応募の異なる通貨によるものです。このように、必要なものは別の小数点以下の桁数と異なる通貨の文字ごと通貨データタイプ($,ポンド、ユーロ等)によっては通貨項目の私はみなされます。
があるので、変更の通貨のほとんどは世界中には、すべての通貨データ表示されます。
解決
でも同じ通貨で表示値と異なる形式(セパレータのためのインスタンス)をお勧めします准ロケールの代わりに、通貨のみのお値です。
利用できる単純な整数のLCID(ロケールID).
一覧はこちら http://msdn.microsoft.com/en-us/library/0h88fahh.aspx
その表示のをご使用ください:
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;
他のヒント
思利用SysUtils.CurrToStr(設定値:通貨;var FormatSettings:TFormatSettings):文字列;
私の設定の配列TFormatSettings、各位置の設定に反映する各通貨のご応募対応しています。必要な設定は以下の分野においてTFormat設定のための各配列の位置:CurrencyString,CurrencyFormat,NegCurrFormat,ThousandSeparator,DecimalSeparatorとCurrencyDecimals.
所属していません StackOverflow