C# 爱沙尼亚(et EE)语言环境中的十进制分隔符在windows server中以点而不是逗号的形式出现

C# 爱沙尼亚(et EE)语言环境中的十进制分隔符在windows server中以点而不是逗号的形式出现,c#,asp.net,.net,windows,localization,C#,Asp.net,.net,Windows,Localization,当我试图使用下面的代码为一个名为爱沙尼亚(et EE)的特定区域查找十进制分隔符时,它是以点而不是逗号的形式出现的(仅在Windows server中),但在我的本地Windows计算机中,它是以逗号的形式出现的,这是该区域正确的十进制分隔符。有谁能帮我找到适合这个地区的小数点分隔符吗 CultureInfo cultureInfo = new CultureInfo("et-EE"); String decimalSeparator = cultureInfo.NumberFormat.Cur

当我试图使用下面的代码为一个名为爱沙尼亚(et EE)的特定区域查找十进制分隔符时,它是以点而不是逗号的形式出现的(仅在Windows server中),但在我的本地Windows计算机中,它是以逗号的形式出现的,这是该区域正确的十进制分隔符。有谁能帮我找到适合这个地区的小数点分隔符吗

CultureInfo cultureInfo = new CultureInfo("et-EE");
String decimalSeparator = cultureInfo.NumberFormat.CurrencyDecimalSeparator;

您的示例代码不会更改任何格式设置

只要不向格式化函数提供区域性信息,或者只要不更改System.Threading.Thread.CurrentThread.CurrentCulture,就会出现这种情况


因此,如果本地计算机上的默认区域性是爱沙尼亚语,则该设置将是正确的。在服务器上,它更可能是通用区域性,您应该通过更改System.Threading.Thread.CurrentThread.CurrentCulture来覆盖当前区域性,或者您可以在web.config中设置它,如下所述,CurrencyDecimalSeparator在windows server中给出点和数字DecimalSeparator在本地windows计算机中给出逗号,但在本地windows计算机中,两者都只给出逗号。

我的本地计算机在windows 10中,windows服务器为“windows server 2012 R2”,我的本地计算机上的默认区域性为en US。此外,在上面的代码中,我明确提到了一个区域性,并试图获取该特定区域性的十进制分隔符。我不知道当前线程文化会如何影响这一点。IIS在哪个用户帐户下运行?(请将详细信息添加到您的帖子中,而不是作为评论)