2011-03-28 90 views
0

在将字符串转换为float时,我在使用C#的Asp.net中遇到问题。在本地数据库中,它可以正常工作。浮点值的表示法,但在将网站上传到服务器后不起作用。我认为服务器只能理解','而不是'。'使用逗号“,”或“。”浮动。

我记得我读过这个地方,我可以添加一些文化Info到web.config中以获得浮动理解'。'。或','

我该如何在WinForm应用程序中对其进行全局更改?

在此先感谢。

+1

请通过更正问题标签“asp.net”或您的问题“WinForm应用程序”来消除混淆 – 2011-03-28 13:51:44

回答

4

你可以,但你不应该。如果你想根据给定的文化,你应该使用的CultureInfo解析

double d = double.Parse(str, CultureInfo.InvariantCulture); // uses format with . as decimal separator, no matter what the current culture is. 

这只是:如果这是隐含在你的代码的目的,它应该使用.作为小数点分隔符,那么你应该明确地使用适当的CultureInfo ,如在web.config <globalization>元素中设置的那样。

0
<globalization uiCulture="es" culture="es-MX" /> 

http://msdn.microsoft.com/en-us/library/bz9tc508.aspx

有关的WinForms,你不能这样做全局(通过“globaly”你不是说在Windows上设置语言环境假设),因为文化是特定的主题。但是你可以用Thread.CurrentCultureThread.CurrentUICulture以编程方式进行编程。