我有一些带有货币缩写的下拉框,如欧元,美元,英镑和所有其他货币。我想使用一些c#.Net功能/方法,我可以插入货币缩写,然后返回货币符号(€,$,£)。
我希望有人可以帮助我。
答案 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)
简单的方法是,您可以使用带有货币名称,货币符号的数据库。 当您选择货币名称时,它将自动选择货币符号,您可以使用该符号。