ste*_*ter 0 locale visual-studio-2008
我在Windwos XP下使用Visual C++ 2008 Express Edition开发了一个应用程序,它在一台计算机上运行,默认语言设置为英语.但是,如果在使用默认语言德语的另一台计算机上运行相同的应用程序,我会遇到麻烦,因为Infinity在转换为double使用期间不会识别预定义的字符串ToDouble,因为在德语平台上字符串应该是Unendlich.特别是mscorlib投掷正确a FormatException.
如何强制应用程序与英语区域设置一起运行?我还没找到任何选择......
谢谢你的任何提示.
您可以使用以下命令将当前区域设置设置为英语:
Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US", false);
Run Code Online (Sandbox Code Playgroud)
这将迫使美国英语在当前的线程中.如果您在主Windows窗体线程中执行此操作,那么您的UI文化将始终为英语.有关详细信息,请参阅http://msdn.microsoft.com/en-us/library/b28bx3bh(v=VS.100).aspx.
汉斯在评论中指出,这不会影响池线程,并且可能导致一些难以发现的错误.事实证明,没有全局设置会使每个线程都使用您定义的文化.如果您需要该功能,则必须进行自己的应用程序范围设置并确保所有线程都使用它.
同样好的阅读将是全球化Windows窗体.
| 归档时间: |
|
| 查看次数: |
1045 次 |
| 最近记录: |