C# 货币缩写(欧元、美元、英镑)转换为货币符号(€;、$、£;)
我有一些带有货币缩写的下拉框,如欧元、美元、英镑和所有其他货币。我想使用一些c#.Net功能/方法,在这里我可以插入货币缩写,并返回货币符号(€,$,£)C# 货币缩写(欧元、美元、英镑)转换为货币符号(€;、$、£;),c#,asp.net,currency,symbols,C#,Asp.net,Currency,Symbols,我有一些带有货币缩写的下拉框,如欧元、美元、英镑和所有其他货币。我想使用一些c#.Net功能/方法,在这里我可以插入货币缩写,并返回货币符号(€,$,£) 我希望有人能帮助我。框架中没有专门处理此问题的内容,但您可以使用一系列货币缩写和符号来解决此问题 我不知道框架中内置了什么,但是如果你有一个你感兴趣的货币列表,这听起来是一个使用字典或字典的好地方(我不知道是否有任何多字符符号,但我不会感到惊讶).您可以使用arraylist/hashtable以各自的unicode0x20A0[EUR]、0
我希望有人能帮助我。框架中没有专门处理此问题的内容,但您可以使用一系列货币缩写和符号来解决此问题 我不知道框架中内置了什么,但是如果你有一个你感兴趣的货币列表,这听起来是一个使用
字典或字典的好地方(我不知道是否有任何多字符符号,但我不会感到惊讶).您可以使用arraylist/hashtable以各自的unicode0x20A0[EUR]、0x0024[USD]、0x00A3[GBP]存储欧元、美元、英镑
您可以在需要或更改下拉事件时从此arraylist/hashtable获取数据。我正在寻找一些动态解决方案,我发现:
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;
您可以浏览所有文化,直到找到匹配的文化:
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;
}
简单的方法是,您可以使用带有货币名称、货币符号的数据库。
当您选择货币名称时,它将自动选择货币符号,您可以使用该符号。旧的德国马克符号是DM,所以我打赌还有其他一些。KWD
,SAR
,AED
是一些三个字母的货币缩写。大多数货币没有符号,但使用中列出的ISO缩写。如果应用程序已本地化,则应使用适当的符号。例如,科威特第纳尔是科威特第纳尔,也是科威特第纳尔