我的 Windows 8 开发盒上出现了一个奇怪的问题。在比较运行 Kentico 的 ASP .NET 应用程序和控制台应用程序(均在 .NET 4.0 上运行)时,以下代码行会导致 NumberFormat.NumberDecimalSeparator 的两个不同值。
var culture = new System.Globalization.CultureInfo("en-ZA");
var separator = culture.NumberFormat.NumberDecimalSeparator;
分隔符的值:
- Kentico 应用程序:"," <- 逗号
- 控制台应用程序:“.” <-期间
我的区域设置的正确输出是句号。
这怎么可能?当我第一次发现十进制数字的格式问题时,我认为这可能是一个 Kentico 错误,但是这个测试表明并非如此。特定语言环境的 CultureInfo 的新实例如何返回在应用程序中不同的实例?