2013-09-28 46 views
4

在一些在我的代碼,我使用ToString C方法轉換成數值貨幣地方: 的ToString(「C」)ASP.NET MVC貨幣/文化問題

在我的dev的機器這個正確格式線值與我的區域設置,因此貨幣顯示爲這樣: £100.00

但是在生產服務器上被忽略了Windows區域設置,而不是默認以美元計算的設置:

$ 100.00

我有一個與DateTimes類似的問題,但轉換爲ISO 8601格式。

生產服務器在哪裏從中選擇?

+0

是您的開發機器和生產線服務器區域設置相同?從'區域設置 - >格式 - >其他設置 - >貨幣 - >貨幣符號' –

+0

這是肯定的。兩者都設置爲英文(英國),英鎊(貨幣),DD/MM/YYYY等 –

+0

也請檢查['NumberFormatInfo.CurrencySymbol'](http://msdn.microsoft.com/en-us/library/system.globalization .nu​​mberformatinfo.currencysymbol.aspx)。 –

回答

2

設置適當的文化在web.config文件:

<globalization uiCulture="en-GB" culture="en-GB" /> 

檢查這篇文章出來:http://msdn.microsoft.com/en-uS/library/bz9tc508.aspx

+0

我很欣賞這個答案,但仍然對兩臺機器之間的區別爲什麼很感興趣。在某處必須有全局設置... –

+0

'machine.config'? http://stackoverflow.com/questions/2325473/where-is-machine-config – Olexander

+0

或從父文件夾中繼承任何'web.config'。 – Olexander

0

您可以強制文化的ToString函數

number.ToString("c", new CultureInfo("en-GB"))