2010-05-05 29 views
1

我的IIS 7服務器使用C#.NET代碼文件從MS SQL數據庫(在另一臺計算機上)讀取數據並將其呈現在Web上。我之前做過類似的發帖,但問題已經重現,我無法修復。IIS 7 - 確定小數符號

在這方面,我在運行IIS 7的挪威語Windows服務器上遇到了問題。它從數據庫讀取列,它返回一些帶有小數點的座標。在數據庫中,我設法通過更改窗口設置將小數點符號從挪威默認(逗號)更改爲句點。

我在運行IIS 7的Windows 2008服務器上做了同樣的事情,但它仍將句點翻譯回逗號。我需要它是一段時間。我甚至改變了代碼來將行轉換爲字符串,然後用句點代替所有的逗號,但它仍然不起作用。

在這裏的任何幫助將不勝感激。

回答

5

首先要做的事 - 我假設你的意思是像ASP.NET Web窗體,對吧?

如果是這樣,那麼在web.config中,是否設置爲:

<globalization culture="auto"/> 

如果你做到了這一點,而你得到一些問題,它仍然可能是語言設置定義在瀏覽器中是錯誤的。檢查這些。

如果您不關心檢測用戶的區域設置,並且始終根據首選項顯示小數,則可以省略上述web.config行。

可以該行更改爲以下:

<globalization culture="NN-NO"/> 

...強迫你的Web應用程序總是使用挪威語(挪威)(NN-NO),因爲它是默認的文化,這應該強制小數點顯示您需要的方式。

作爲一種選擇,你可以選擇根據特定格式屏幕格式的任何小數,使用的NumberFormatInfo,如下面的示例所示:

NumberFormatInfo ni = Globalization.CultureInfo.GetCultureInfo("NB-NO").NumberFormat; 
Decimal.ToString("c", ni); 

希望這有助於

理查德。

+0

@理查德,謝謝你的啓發,我不知道這種功能。我正在使用ASP.NET MVC2框架。我看到,當我把東西放在IIS服務器上時,它給了我逗號小數,但是當我使用Visual Studio中的內置調試器在本地測試它時,我得到了小數點。 我不明白爲什麼,似乎有什麼與IIS服務器,而不是瀏覽器。 – cc0 2010-05-05 15:36:21

+0

@ cc0 - 本地化/全球化功能似乎有點令人困惑,但根據我的經驗,當.NET設置爲在服務器上檢測到它們時,它通常是瀏覽器設置錯誤的。請仔細檢查本地計算機上的web.config以及您的實時環境。添加我提到的行並嘗試設置。不要忘記,如果您沒有擁有或控制Web服務器,那麼您的主機有可能在machine.config中配置了一些覆蓋默認行爲的設置。先試試這個,然後讓我知道你如何繼續。 – Richard 2010-05-05 15:47:12

+0

就是這樣。現在一切正常!我強迫全球化文化到美國,現在它吐出了正確的小數。真棒。謝謝你,先生! – cc0 2010-05-05 16:19:13