爱沙尼亚(et-EE)语言环境中的小数分隔符在Windows服务器中以点而不是逗号形式出现

时间:2017-07-11 11:53:17

标签: c# asp.net .net windows localization

当我试图通过使用下面的代码找到一个名为爱沙尼亚爱沙尼亚(et-EE)的特定区域设置的小数分隔符时,它将以点而不是逗号(仅在Windows服务器中),但在我的本地Windows机器中它是以逗号形式出现,这是此语言环境的正确小数分隔符。任何人都可以帮助我如何为这个区域设置获得正确的小数点分隔符?

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

2 个答案:

答案 0 :(得分:0)

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

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

因此,如果您的默认文化是本地计算机上的爱沙尼亚语,则该设置将是正确的。在服务器上,它更可能是通用文化,您应该通过更改System.Threading.Thread.CurrentThread.CurrentCulture来覆盖当前文化,或者您可以在web.config中设置它,如此处所述https://msdn.microsoft.com/en-us/library/bz9tc508.aspx

答案 1 :(得分:0)

我得到了这个问题的解决方案,就像这个locale et-EE一样,CurrencyDecimalSeparator给出了dot,而NumberDecimalSeparator给出了windows服务器中的逗号,但是在本地windows机器中,两者都只逗号。