C# 如何在.net中获取当前语言环境的默认十进制/千位分隔符

C# 如何在.net中获取当前语言环境的默认十进制/千位分隔符,c#,asp.net,asp.net-mvc-3,localization,C#,Asp.net,Asp.net Mvc 3,Localization,根据当前的文化,我需要千位小数分隔符。如果我们使用的是美国文化,那么十进制应该是“.”,千位数应该是“.”。但对于德国文化,默认的小数点分隔符是“”,千位分隔符是“”。 为了获取日期时间分隔符,我使用以下代码 CultureInfo us = new CultureInfo("en-US"); string shortUsDateFormatString = us.DateTimeFormat.ShortDatePattern;

根据当前的文化,我需要千位小数分隔符。如果我们使用的是美国文化,那么十进制应该是“.”,千位数应该是“.”。但对于德国文化,默认的小数点分隔符是“”,千位分隔符是“”。 为了获取日期时间分隔符,我使用以下代码

               CultureInfo us = new CultureInfo("en-US");
                string shortUsDateFormatString = us.DateTimeFormat.ShortDatePattern;
                string dateseparator= us.DateTimeFormat.DateSeparator;
                string timeseparator= us.DateTimeFormat.TimeSeparator;

有没有类似日期/时间的方法?

该属性包含货币和数字的此信息。

您可以使用
CultureInfo
NumberFormat
属性,其中包括十进制分隔符和千位分隔符的属性

var numberFormat = us.NumberFormat;
string decimalSeparator = numberFormat.NumberDecimalSeparator;
string thousandsSeparator = numberFormat.NumberGroupSeparator;

通过此代码可以获取当前系统设置:

System.Globalization.CultureInfo ci = System.Threading.Thread.CurrentThread.CurrentCulture;
FORMAT_NUMBER_DECIMALSEPARATOR = ci.NumberFormat.CurrencyDecimalSeparator;
FORMAT_NUMBER_DIGITGROUP = ci.NumberFormat.CurrencyGroupSeparator;

搜索标题将给出最热门的结果。。。你真的应该考虑选择一个更好的搜索引擎。@ AlexeiLevenkov,你的链接只提供数据类型,仍然需要从某处请求它,这是重要的部分(因此下面的数字格式)。也许搜索引擎的评论是不合理的:)@AlexeiLevenkov-heh,谷歌把我带到了这里,第一个(也是公认的答案)无论如何都是正确的。:-)