2009-07-22 12 views
2

Webアプリケーション(.net/C#)は、amount.ToString( "c")を使用して通貨金額をフォーマットします。.net Webアプリケーションで既定のカルチャ設定を変更する方法は?

フランス語のカンディアンユーザーは、すべての金額を米国の書式(123,456.99対fr-CAのデフォルトのウィンドウ方法は123 456,99)にすることをお勧めします。

これを処理する最善の方法は何ですか? Windowsの各Webサーバーの地域設定をfr-caで簡単に変更できますか?またはカスタムカルチャーを作成する必要がありますか?

答えて

2

あなたは作成に見てみたいことがありますあなたが必要とする書式設定の組み合わせを提供するカスタムカルチャーです。 There is an article at MSDN describing how to do it

つまり、CultureAndRegionInfoBuilderオブジェクトを作成し、名前を定義し、プロパティを設定して登録します。詳細は記事をチェックしてください。

+0

これは私が思っていたよりはるかに簡単です - あなたは既存のカルチャを読み込み、ある値を変更して、新しいカルチャとして保存することができます。完璧。 – ericvg

1

あなたはそうのような現在のカルチャを変更することができます。

Thread.CurrentThread.CurrentCulture = new CultureInfo("fr-CA") 

あなたは必ず、web.configファイルから値を引くことができます。

EDIT:

[OK]を、私は誤解申し訳ありません。

これはうまくいくかもしれない:これは、あなたが数値ヴァルスを出力しているとき、あなただけのUSFormatを使用できるようにする必要があり

decimal d = 1232343456.99M; 
    CultureInfo USFormat = new CultureInfo("en-US");  
    Console.Out.WriteLine(d.ToString(USFormat)); 

+0

現在、私たちはこれをやっていますが、私たちのfr-CAユーザーはその文化の標準的な書式を欲しくないので、米ドルの金額だけを書式設定したいと考えています。だから、そのハイブリッド文化のように。 – ericvg

+0

と私は、現在のカルチャーがfr-CAの場合には、米ドルの金額だけを表示するためにコードをハックする必要はありません。 – ericvg

+0

@pinkmuppet:CurrentUultultureに "fr-CA"、CurrentCultureに "en-US"を割り当てることができます。 en-USを使用して番号と日付をフォーマットするときに、アプリケーションがfr-CAリソース(文字列リソースなど)を読み込むようにします。 –

0

私は、ユーザーごとにのCultureInfoを保持し、各ユーザーがプロパティを編集できるようにフォームを作成したアプリケーションのためのユーザ設定を作成します....

関連する問題