2012-01-15 7 views
1

私はdouble.ToString()を呼び出すいくつかの第三者コードを持っています。私はCultureInfo.InvariantCultureすることを必要とするのに対し、デフォルトdouble.ToString()CultureInfo.CurrentCultureを使用しているため、.NET:double.ToString()で使用される形式を変更することはできますか?

49.99.ToString() == "49,99" 

これが起こる:私の問題は、デフォルトdouble.ToString()実装はそうのように、コンマで小数点以下のドットを置き換えることです。実際、観察:私はそれを必要とするよう

49.99.ToString(CultureInfo.InvariantCulture) == "49.99" 
49.99.ToString(CultureInfo.CurrentCulture) == "49,99" 

はそのようdouble.ToString()仕事、不変一つであることが、現在のカルチャを変更する方法がありますか?

サードパーティのコードでできるだけ触れないようにしたいので、デフォルトのToString()の代わりにToString(IFormatProvider)のオーバーロードを使用してください。

ありがとうございました。

答えて

1

あなたがデフォルトで使用されているものである、現在のスレッドの文化情報を設定できます。

Thread.CurrentThread.CurrentCulture = CultureInfo.InvariantCulture; 

をして、これは、Webアプリケーションであれば、あなたの中に<globalization>要素のcultureuiCulture属性を設定することができますweb.config

+0

とてもシンプルで本当です。どうもありがとう。 – mark

+0

@mark、私は助けることができてうれしい。尋ねたいことが他にありますか、あるいはこの質問を閉じることを検討できますか? –

+0

2分遅延、2分遅延。 – mark

関連する問題