2012-04-13 67 views
3

我的应用程序发生了一些奇怪的事情。当我在本地运行时,我得到的结果应该是正常的十进制数。但是,当我从服务器运行相同的应用程序时,十进制数除以100. 我使用相同的代码,部署相同的应用程序,我想知道为什么发生这种情况。 欢迎任何建议。在此先感谢,Laziale在本地和远程运行相同的应用程序的不同结果 - Windows应用程序

+2

请给出一个有问题的代码的例子。 – 2012-04-13 14:20:48

+0

很少有想法:比较文化,并检查你是如何部署代码---你可以有条件编译/调试设置。 – 2012-04-13 14:23:30

回答

3

很明显,您的服务器正在运行一个不同的区域设置。

无论何时您从字符串转为十进制,语言环境(CultureInfo)都很重要。

例如,ConvertToDecimal("1.00")可以给取决于.是否被设置为小数分离器或千位分隔1100

为防止出现这种情况,请始终使用ConvertToDecimal("1.00", someCulturInfo)

当字符串按用户区域设置定义时,您只能依靠默认值。

+1

+1正好击败了我。 – 2012-04-13 14:23:04

+0

@JoshuaDrake非常感谢您提供有用的信息。请保持我们更新。 – 2012-04-13 14:23:44

相关问题