【问题标题】:Currency abbreviation (EUR, USD, GBP) convert to currency symbol (€, $, £)货币缩写 (EUR, USD, GBP) 转换为货币符号 (€, $, £)
【发布时间】:2011-07-07 04:26:53
【问题描述】:

我有一些下拉框,其中包含欧元、美元、英镑等货币缩写以及所有其他货币。我想使用一些 c# .Net 功能/方法,我可以在其中插入货币缩写并返回货币符号(€、$、£)。

我希望有人可以帮助我。

【问题讨论】:

    标签: c# asp.net currency symbols


    【解决方案1】:

    您可以遍历所有文化,直到找到匹配项:

    public string GetCurrencySymbolFromAbbreviation(string abbreviation)
    {
        foreach (CultureInfo nfo in CultureInfo.GetCultures(CultureTypes.SpecificCultures))
        {
            RegionInfo region = new RegionInfo(nfo.LCID);
            if (region.ISOCurrencySymbol == abbreviation)
            {
                return region.CurrencySymbol;
            }
        }
        return null;
    }
    

    【讨论】:

      【解决方案2】:

      框架中没有专门处理此问题的内容,但您可以使用货币缩写和符号的Dictionary 解决它。

      【讨论】:

        【解决方案3】:

        我不知道框架中的任何内容,但如果您有感兴趣的货币列表,这听起来是使用Dictionary<string, string>可能 一个Dictionary<string, char>(不知道有没有多字符的符号,但我不会感到惊讶)。

        【讨论】:

        • 旧的德国马克符号是 DM,所以我敢打赌还有其他的。
        • KWDSARAED 是一些三个字母的货币首字母缩写词。大多数货币没有符号,但使用ISO 4217 中列出的 ISO 缩写。如果您的应用程序已本地化,则应使用适当的符号。例如Kuwaiti DinarKWD 也是د.ك
        【解决方案4】:

        我一直在寻找一些动态解决方案,我发现了这个:

        RegionInfo regionInfo = (from culture in CultureInfo.GetCultures(CultureTypes.InstalledWin32Cultures)
                                             where culture.Name.Length > 0
                                             let region = new RegionInfo(culture.LCID)
                                             where String.Equals(region.ISOCurrencySymbol, "EUR", StringComparison.InvariantCultureIgnoreCase)
                                             select region).First();
        
        string currencySymbol = regionInfo.CurrencySymbol;
        

        【讨论】:

          【解决方案5】:

          您可以使用数组列表/哈希表来存储 EUR、USD、GBP 及其各自的 unicode 0x20A0[EUR]、0x0024 [USD ]& 0x00A3 [英镑]。

          当您需要或下拉的 onChange 事件时,您可以从这个数组列表/哈希表中获取数据。

          【讨论】:

            【解决方案6】:

            简单的方法是,您可以使用带有货币名称、货币符号的数据库。 当您选择货币名称时,它会自动选择货币符号,您可以使用该符号。

            【讨论】:

              猜你喜欢
              • 2018-04-27
              • 1970-01-01
              • 2011-06-27
              • 1970-01-01
              • 2014-08-28
              • 1970-01-01
              • 2021-11-03
              • 1970-01-01
              • 2019-02-23
              相关资源
              最近更新 更多