货币缩写(EUR,USD,GBP)兑换货币符号(€,$,£)

时间:2011-03-02 10:46:37

标签: c# asp.net currency symbols

我有一些带有货币缩写的下拉框,如欧元,美元,英镑和所有其他货币。我想使用一些c#.Net功能/方法,我可以插入货币缩写,然后返回货币符号(€,$,£)。

我希望有人可以帮助我。

6 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:3)

您可以浏览所有文化,直到找到匹配项:

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 :(得分:2)

我不知道框架内置了什么,但是如果你有一个你感兴趣的货币列表,这听起来像是一个使用Dictionary<string, string>的完美地方可能一个Dictionary<string, char>(我不知道是否有任何多字符符号,但我不会感到惊讶)。

答案 3 :(得分:2)

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

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;

答案 4 :(得分:1)

您可以使用arraylist / hashtable存储 EUR,USD,GBP 及其各自的unicode 0x20A0 [EUR], 0x0024 [USD ]&安培; 0x00A3 [GBP]。

当您需要或onChange下拉事件时,您可以从此arraylist / hashtable中获取数据。

答案 5 :(得分:0)

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