在本地和远程运行相同应用程序的不同结果 - Windows应用

时间:2012-04-13 14:20:02

标签: c# winforms visual-studio-2010 windows-server-2008

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

1 个答案:

答案 0 :(得分:3)

显然,您的服务器运行的是其他语言环境。

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

例如,ConvertToDecimal("1.00")可以提供1100,具体取决于.是设置为小数点分隔符还是千位分隔符。

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

根据用户区域设置中的字符串,您只能依赖默认值。