我的应用程序发生了一些奇怪的事情。当我在本地运行它时,我得到的结果应该是正常的十进制数。但是当我从服务器运行相同的应用程序时,十进制数除以 100。 我正在使用相同的代码,部署相同的应用程序,我想知道为什么会这样。 欢迎任何建议。提前致谢,拉齐亚莱
最佳答案
很明显,您的服务器正在以不同的语言环境运行。
无论何时从字符串变为十进制,语言环境 (CultureInfo) 都很重要。
例如,ConvertToDecimal("1.00")
可以给出 1
或 100
,具体取决于 .
设置为小数分隔符或千位分隔符。
为防止这种情况,请始终使用 ConvertToDecimal("1.00", someCulturInfo)
。
当字符串在用户语言环境中定义时,您只能依赖默认值。
关于c# - 本地和远程运行相同应用程序的不同结果 - Windows 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10142577/