在本地和远程运行相同的应用程序的不同结果 - Windows应用程序
我的应用程序发生了一些奇怪的事情。当我在本地运行时,我得到的结果应该是正常的十进制数。但是,当我从服务器运行相同的应用程序时,十进制数除以100. 我使用相同的代码,部署相同的应用程序,我想知道为什么发生这种情况。 欢迎任何建议。在此先感谢,Laziale在本地和远程运行相同的应用程序的不同结果 - Windows应用程序
很明显,您的服务器正在运行一个不同的区域设置。
无论何时您从字符串转为十进制,语言环境(CultureInfo)都很重要。
例如,ConvertToDecimal("1.00")
可以给取决于.
是否被设置为小数分离器或千位分隔1
或100
。
为防止出现这种情况,请始终使用ConvertToDecimal("1.00", someCulturInfo)
。
当字符串按用户区域设置定义时,您只能依靠默认值。
+1正好击败了我。 – 2012-04-13 14:23:04
@JoshuaDrake非常感谢您提供有用的信息。请保持我们更新。 – 2012-04-13 14:23:44
请给出一个有问题的代码的例子。 – 2012-04-13 14:20:48
很少有想法:比较文化,并检查你是如何部署代码---你可以有条件编译/调试设置。 – 2012-04-13 14:23:30