3

新しいCultureInfo( "fr-FR")を使用してCultureInfoオブジェクトを作成しました。これで、.ToString( "C"、FrenchCultureInfo)と呼びたい番号ができました。結果の文字列は、数値の後に€を置きます。なんで?

CultureInfo french = new CultureInfo("fr-FR");
double value = 1234.56;
string output = value.ToString("C", french);//output = "1 234,56 €"

私が見たすべてのことから、ユーロは左側にある必要があり、私のビジネス要件はそれが左側にあることを義務付けています。ただし、プログラムでこの値を設定する方法はありません。

この値を簡単に設定する方法について何かアイデアはありますか?正しい値のユーロを除いて、他のすべてのフランスの設定が必要なため、私は米国の文化オブジェクトを取得し、フランスの文化からすべてをコピーし始めました。しかし、この方法は非常に時間がかかり、イライラします。

ありがとう!

4

1 に答える 1

6

オリジナルを複製してから変更します。

CultureInfo french = new CultureInfo("fr-FR");
french = (CultureInfo) french.Clone();
// Adjust these to suit
french.NumberFormat.CurrencyPositivePattern = 2;
french.NumberFormat.CurrencyNegativePattern = 2;
double value = 1234.56;
string output = value.ToString("C", french);//output = "€ 1 234,56"

これは特定のオブジェクトにのみ影響することに注意してくださいCultureInfo。フランス語で一般的に取得されたオブジェクトには影響しません。そのため、どこでも使用できるようにする必要があります。

于 2009-09-18T18:52:15.993 に答える