我在将字符串转换为float时使用C#在Asp.net中遇到问题。在本地数据库中,它与'。'一起正常工作。浮点值的表示法,但在将网站上传到服务器后它不起作用。我认为服务器只能理解','而不是'。'
我记得我在某个地方读过这篇文章,我可以在web.config中添加一些文化信息,以便让浮动理解'。'或','
如何为WinForm应用程序全局更改?
提前致谢。
答案 0 :(得分: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>
元素中所设置的那样。
答案 1 :(得分:0)
<globalization uiCulture="es" culture="es-MX" />
http://msdn.microsoft.com/en-us/library/bz9tc508.aspx
对于WinForms,你不能全局地做(假设'globaly'并不意味着在windows上设置区域设置),因为文化特定于Thread。但您可以使用Thread.CurrentCulture
和Thread.CurrentUICulture
以编程方式执行此操作。
答案 2 :(得分:0)
您可以将全球化部分用于Web.Config。
e.g: <globalization uiCulture="es" culture="es-MX" />
链接:http://msdn.microsoft.com/en-us/library/hy4kkhe0(v=vs.71).aspx
对于Windows窗体,您可以将CulturInfo分配给CurrentThread.CurrentCulture。