C#了解小数分隔符问题(双)

时间:2014-01-30 13:22:51

标签: c# cultureinfo culture

我刚刚经历了一个非常奇怪的问题,我希望有人可以解释为什么会这样?

我有一个在本地系统帐户下作为Windows服务运行的应用程序。 运行Windows服务时,在.ToString()的两倍上调用515.45,它返回515,45。 尽管我的区域设置设置为使用.作为分隔符,而不是, 但是,当通过Visual Studio运行确切的代码时,它会正确返回515.45

我试图通过VS和Windows服务来理解为什么小数点分隔符会有所不同?

我正在运行Windows 8.1 Pro。地区设置为英国,位于南非。

1 个答案:

答案 0 :(得分:1)

这是因为该服务在与用于运行Visual Studio的用户不同的用户下运行。

您可以将文化设置复制到control panel中的系统帐户(我不知道在Windows 8中是否已更改,但我不这么认为)。