如何在 .net 中获取当前语言环境的默认小数点/千位分隔符
How to get default decimal / thousand separator for current locale in .net
根据当前文化,我需要千位和小数点分隔符。如果我们使用美国文化,那么十进制应该是“.”对于千,它应该是','。但对于德国文化,默认的小数点分隔符是“,”,千位分隔符是“.”。
为了获取日期时间分隔符,我使用以下代码
CultureInfo us = new CultureInfo("en-US");
string shortUsDateFormatString = us.DateTimeFormat.ShortDatePattern;
string dateseparator= us.DateTimeFormat.DateSeparator;
string timeseparator= us.DateTimeFormat.TimeSeparator;
有什么方法可以像日期/时间一样吗?
NumberFormat 属性 有关于货币和数字的信息。
您可以使用 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;
根据当前文化,我需要千位和小数点分隔符。如果我们使用美国文化,那么十进制应该是“.”对于千,它应该是','。但对于德国文化,默认的小数点分隔符是“,”,千位分隔符是“.”。 为了获取日期时间分隔符,我使用以下代码
CultureInfo us = new CultureInfo("en-US");
string shortUsDateFormatString = us.DateTimeFormat.ShortDatePattern;
string dateseparator= us.DateTimeFormat.DateSeparator;
string timeseparator= us.DateTimeFormat.TimeSeparator;
有什么方法可以像日期/时间一样吗?
NumberFormat 属性 有关于货币和数字的信息。
您可以使用 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;