.NET 是否有可能在服务器 A 上使用“,”作为小数分隔符并在另一台服务器 B 上使用“。”?+ 你怎么能检测到这个?
将字符串转换为双精度时,在服务器 A 上一切正常,但在服务器 B 上出现问题。
例子:
服务器 A:20,4 --> 20.4 服务器 B:20,4 --> 204
我们需要检测到这一点,以便在两台服务器上都可以继续工作。
谢谢,列文卡登
.NET 是否有可能在服务器 A 上使用“,”作为小数分隔符并在另一台服务器 B 上使用“。”?+ 你怎么能检测到这个?
将字符串转换为双精度时,在服务器 A 上一切正常,但在服务器 B 上出现问题。
例子:
服务器 A:20,4 --> 20.4 服务器 B:20,4 --> 204
我们需要检测到这一点,以便在两台服务器上都可以继续工作。
谢谢,列文卡登
听起来像是在一台服务器上正确设置了区域设置,但在另一台服务器上却没有。
有几种方法可以做到这一点,但您可能希望使用 Thread.CurrentThread.CurrentCulture 和 Thread.CurrentThread.CurrentUICulture 为 App/ASP.NET 页面中的当前线程设置语言环境。
要为整个应用程序设置此项,您可以在 web.config 中执行此操作:
<configuration>
<system.web>
<globalization culture="en-US" uiCulture="en-US" />
...
我用
String.Format(System.Globalization.CultureInfo.InvariantCulture, ....)
在那些你不想有文化特定输出的情况下。(例如,当您为其他应用程序编写序列化数据时等)这样无论当前设置什么文化,输出都将始终相同。