我需要获取不同货币代码的 System.Globalization.CultureInfo。
示例:欧元、英镑、美元
目前,我正在基于这 3 个字母货币代码的 switch 语句中执行以下操作,显然这不是执行此操作的方法:
var ci = new System.Globalization.CultureInfo("en-US");
有人有一种干净的方法来使用货币代码来实现相同的结果吗?
最佳答案
static IEnumerable<CultureInfo> GetCultureInfosByCurrencySymbol(string currencySymbol)
{
if (currencySymbol == null)
{
throw new ArgumentNullException("currencySymbol");
}
return CultureInfo.GetCultures(CultureTypes.SpecificCultures)
.Where(x => new RegionInfo(x.LCID).ISOCurrencySymbol == currencySymbol);
}
例如
foreach (var culture in GetCultureInfosByCurrencySymbol("GBP"))
{
Console.WriteLine(culture.Name);
}
打印:
cy-GB
gd-GB
en-GB
关于asp.net - 从货币代码获取 CultureInfo?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9230705/