我有一个DDL,其值代表国家/地区代码。例如。 BRA,THA,UKR,AUS等我需要从每种设置的本地化设置中获取首选货币。
我已经尝试检查RegionInfo类,答案很可能就在那儿。该链接显示了我想要的内容https://www.iban.com/currency-codes
是否有任何方法可以在不使用表结构的情况下获取3位数字的CurrencyCode?,即从PC或浏览器本身获取。基本上,如果用户选择他们的国家作为美国,则货币应固定为USD。我可以很容易地用一些SQL做到这一点。但是我想做到这一点而不打数据库。即通过RegionInfo或CultureInfo。
我不能使用从服务器中拉出的新RegionInfo(System.Threading.Thread.CurrentThread.CurrentUICulture.LCID).ISOCurrencySymbol。
如果这3个字母是ISO标准,则有解决方案,您可以应用此代码
var c = CultureInfo.GetCultures(CultureTypes.SpecificCultures)
.Select(t=> new RegionInfo(t.LCID))
.Where(t=>t.ThreeLetterISORegionName == "USA")
.FirstOrDefault();
。NET具有CultureInfo.NumberFormat.CurrencySymbol
RegionInfo us = new RegionInfo("en-US");
RegionInfo gb = new RegionInfo("en-GB");
RegionInfo fr = new RegionInfo("fr-FR");
Console.Out.WriteLine(us.CurrencySymbol); // $
Console.Out.WriteLine(gb.CurrencySymbol); // £
Console.Out.WriteLine(fr.CurrencySymbol); // €
Console.Out.WriteLine(us.ISOCurrencySymbol); // USD
Console.Out.WriteLine(gb.ISOCurrencySymbol); // GBP
Console.Out.WriteLine(fr.ISOCurrencySymbol); // EUR
完整的区域信息可用here
您将需要访问某个地方的数据存储。
您的选择是:
数据库-您已经对其进行了折扣(可能是因为您不想维护数据集)
硬代码-再次需要您再次维护数据集。
使用外部数据源-例如API,第三方可以在其中提供您需要的数据以响应HTTP请求。好处是他们还可以为您维护数据集(尽管不能保证它保持最新状态)。
我建议您看看:
它们提供了一系列的RESTful API端点,您可以查询这些端点来检索货币代码。