2010-05-05 70 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