如何在.net中获得当前区域设置的默认十进制/千位分隔符
本文关键字:十进制 默认 分隔符 千位 设置 net 区域 | 更新日期: 2023-09-27 18:10:44
我需要根据当前文化设置千位和小数分隔符。如果我们使用的是美国文化,那么小数应该是十进制。"一千次都应该是这样。"但是对于德国文化,默认的小数分隔符是',',千位分隔符是'。'。对于获取日期时间分隔符,我使用以下代码
CultureInfo us = new CultureInfo("en-US");
string shortUsDateFormatString = us.DateTimeFormat.ShortDatePattern;
string dateseparator= us.DateTimeFormat.DateSeparator;
string timeseparator= us.DateTimeFormat.TimeSeparator;
有没有类似date/time的东西
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;