【问题标题】:IIS 7 - determine decimal symbolIIS 7 - 确定十进制符号
【发布时间】:2010-05-05 23:22:27
【问题描述】:

我的 IIS 7 服务器使用 C#.NET 代码文件从 MS SQL 数据库(在另一台机器上)读取数据并将其呈现在网络上。我之前发过类似的帖子,但问题又出现了,我一直无法解决。

在这方面,我在运行 IIS 7 的挪威 Windows Server 上遇到了问题。它从数据库中读取列,该数据库返回一些带小数的坐标。在数据库中,我设法通过更改窗口设置将十进制符号从挪威默认(逗号)更改为句点。

我在运行 IIS 7 的 Windows 2008 服务器上做了同样的事情,但它仍然将句点转换回逗号。我需要它是周期。我什至更改了代码以将行转换为字符串,然后用句点替换所有逗号,但它仍然不起作用。

我们将不胜感激。

【问题讨论】:

    标签: c# sql iis iis-7 decimal


    【解决方案1】:

    首先,我假设您的意思是像 ASP.NET Web 窗体之类的东西,对吧?

    如果是这样,那么在web.config中,你有没有设置:

    <globalization culture="auto"/>
    

    如果您这样做了,但仍然遇到一些问题,则可能是浏览器中定义的语言设置有误。检查那些。

    如果您不关心检测用户的区域设置并始终根据他们的 偏好显示小数,则可以省略上面的 web.config 行。

    您可以将该行更改为以下内容:

    <globalization culture="NN-NO"/>
    

    ...强制您的 Web 应用程序始终使用挪威语 Bokmål (Norway) (NN-NO) 作为默认文化,这应该强制小数以您需要的方式显示。

    作为替代方案,您可以使用 NumberFormatInfo 选择根据特定格式在屏幕上设置任何小数的格式,如下面的示例所示:

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

    希望这会有所帮助,

    理查德。

    【讨论】:

    • @Richard,感谢您的启发,我不知道这种功能。我正在使用 ASP.NET MVC2 框架。我看到当我把东西放在 IIS 服务器上时,它给了我逗号小数,但是当我使用 Visual Studio 中的内置调试器在本地测试它时,我得到了小数点。我不明白为什么,似乎 IIS 服务器有问题,而不是浏览器。
    • @cc0 - 本地化/全球化功能似乎有点令人困惑,但根据我的经验,当 .NET 设置为在服务器上检测它们时,通常是浏览器设置错误。仔细检查本地计算机和实时环境中的 web.config。添加我提到的行并尝试设置。不要忘记,如果您不拥有或控制 Web 服务器,那么您的主机可能在 machine.config 中配置了一些覆盖默认行为的设置。先试试这个,然后告诉我你的进展情况。
    • 就是这样。现在一切正常!我将全球化文化强加于 EN-US,现在它吐出正确的小数点。惊人的。谢谢你,先生!
    • @cc0 很高兴能帮上忙 :)
    猜你喜欢
    • 2018-08-04
    • 1970-01-01
    • 2013-05-28
    • 1970-01-01
    • 1970-01-01
    • 2019-07-13
    • 1970-01-01
    • 2013-04-15
    • 1970-01-01
    相关资源
    最近更新 更多