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

Urv*_*rvi 2 c# asp.net localization asp.net-mvc-3

根据目前的文化,我需要千位和小数分隔符.如果我们使用的是美国文化,那么对于小数,它应该是"." 它应该','.但是对于德国文化,默认小数分隔符是','和千分隔符是'.'.获取日期时间分隔符我正在使用以下代码

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

有没有像日期/时间一样的东西?

Ric*_*der 7

NumberFormat的酒店有两种货币与数字这个信息.


小智 6

您可以使用NumberFormat的财产CultureInfo,其中包括了小数点分隔符和千位分隔符属性

var numberFormat = us.NumberFormat;
string decimalSeparator = numberFormat.NumberDecimalSeparator;
string thousandsSeparator = numberFormat.NumberGroupSeparator;
Run Code Online (Sandbox Code Playgroud)


Moh*_*enB 6

通过这段代码可以获取当前的系统设置:

System.Globalization.CultureInfo ci = System.Threading.Thread.CurrentThread.CurrentCulture;
FORMAT_NUMBER_DECIMALSEPARATOR = ci.NumberFormat.CurrencyDecimalSeparator;
FORMAT_NUMBER_DIGITGROUP = ci.NumberFormat.CurrencyGroupSeparator;
Run Code Online (Sandbox Code Playgroud)