2012-01-15 40 views
1

我有一些第三方代碼,調用double.ToString()。我的問題是,默認double.ToString()實現替換小數點用逗號,像這樣:.NET:是否可以更改double.ToString()使用的格式?

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

出現這種情況,因爲默認double.ToString()使用CultureInfo.CurrentCulture,而我需要它是CultureInfo.InvariantCulture。事實上,觀察:

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

有沒有辦法改變目前的文化是不變的一個,讓double.ToString()工作,因爲我需要它?

我想盡量避免修改第三方代碼,所以請不要使用ToString(IFormatProvider)超載而不是默認的ToString()

謝謝。

回答

1

您可以設置當前線程的文化信息是什麼默認情況下使用:

Thread.CurrentThread.CurrentCulture = CultureInfo.InvariantCulture; 

,如果這是一個Web應用程序,你可以在設置<globalization>元素的cultureuiCulture屬性您web.config

+0

這麼簡單,如此真實。非常感謝。 – mark 2012-01-15 10:49:29

+0

@mark,很高興我能幫上忙。還有其他你想問的問題嗎?或者你可以考慮關閉這個問題? – 2012-01-15 10:51:02

+0

延遲2分鐘,延遲2分鐘。 – mark 2012-01-15 10:55:15

相關問題