Сокращение валюты (EUR, USD, GBP) конвертировать в символ валюты (€, $, £) - PullRequest
6 голосов
/ 02 марта 2011

У меня есть выпадающий список с аббревиатурами валют, такими как EUR, USD, GBP и для всех других валют. Я хотел бы использовать некоторые функциональные возможности / метод c # .Net, где я могу вставить аббревиатуру валюты, и она возвращает символ валюты (€, $, £).

Я надеюсь, что кто-то может мне помочь.

Ответы [ 6 ]

3 голосов
/ 13 июня 2012

Вы можете бегать по всем культурам, пока не найдете совпадение:

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;
}
3 голосов
/ 02 марта 2011

В фреймворке нет ничего, чтобы конкретно с этим справиться, но вы могли бы решить это, используя Словарь валютных сокращений и символов.

2 голосов
/ 02 марта 2011

Я искал какое-то динамическое решение и нашел это:

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;
2 голосов
/ 02 марта 2011

Я не знаю ничего встроенного в фреймворк, но если у вас есть список валют, которые вас интересуют, это звучит как идеальное место для использования Dictionary<string, string> или , возможно a Dictionary<string, char> (я не знаю, есть ли какие-нибудь многосимвольные символы, но я не удивлюсь).

1 голос
/ 02 марта 2011

Вы можете использовать массив / хэш-таблицу для хранения EUR, USD, GBP с соответствующим Unicode 0x20A0 [EUR], 0x0024 [USD] & 0x00A3 [GBP].

Вы можете извлекать данные из этого массива / хеш-таблицы, когда вам требуется событие onChange или выпадающий список.

0 голосов
/ 13 марта 2013

Простой способ, вы можете использовать базу данных с названием валюты, символ валюты.Когда вы выберете Имя валюты, он автоматически выберет Символ валюты, и вы сможете использовать его.

...