首页 > 解决方案 > 如何从 3 位 ISO 国家代码中获取 3 位/字母货币代码

问题描述

我有一个带有代表国家代码的值的 ddl。例如。BRA、THA、UKR、AUS 等。我需要从每个本地化设置中获取首选货币。

我试过检查 RegionInfo 类,很可能答案就在那里。这个链接显示了我想要的https://www.iban.com/currency-codes

有没有办法在不使用表结构的情况下获得 3 位数的 currencyCode?即来自个人电脑或浏览器本身。基本上,如果用户选择他们的国家为美国,那么货币应该固定为美元。我可以用一些 sql 很容易地做到这一点。但我想在不打分贝的情况下做到这一点。即通过RegionInfo 或CultureInfo。

我不能使用 new RegionInfo(System.Threading.Thread.CurrentThread.CurrentUICulture.LCID).ISOCurrencySymbol 因为它从服务器中提取。

标签: c#sqlcultureinforegioninfo

解决方案


如果这 3 个字母是 ISO 标准,则有一个解决方案,您可以应用此代码

var c = CultureInfo.GetCultures(CultureTypes.SpecificCultures)
      .Select(t=> new RegionInfo(t.LCID))
      .Where(t=>t.ThreeLetterISORegionName  == "USA")
      .FirstOrDefault();

推荐阅读