我有一些货币缩写,如欧元,美元,英镑和所有其他货币的下拉框。我想使用一些c#.Net功能/方法来插入货币缩写,并返回货币符号(€,$,£)。货币缩写(EUR,USD,GBP)转换为货币符号(欧元,美元,英镑)
我希望有人能帮助我。
我有一些货币缩写,如欧元,美元,英镑和所有其他货币的下拉框。我想使用一些c#.Net功能/方法来插入货币缩写,并返回货币符号(€,$,£)。货币缩写(EUR,USD,GBP)转换为货币符号(欧元,美元,英镑)
我希望有人能帮助我。
框架中没有任何内容可以专门处理此问题,但您可以使用货币缩写和符号的Dictionary来解决此问题。
我不知道内置于框架什么,但如果你有你感兴趣的货币名单,这听起来像使用一个完美的地方一个Dictionary<string, string>
或可能一个Dictionary<string, char>
(我不知道是否有任何多字符符号,但我不会感到惊讶)。
您可以使用ArrayList /哈希表来存储欧元,美元,英镑与各自的Unicode 0x20A0 [EUR],0x0024 [美元] & 0x00A3 [GBP]。
当您需要或onChange事件的下拉列表时,您可以从此ArrayList /哈希表中获取数据。
我一直在寻找一些动态的解决方案,我发现这一点:
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;
比特币通过什么? – Henrik 2012-11-02 09:22:06
您可以通过所有的文化,直到你找到一个匹配运行:
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,所以我打赌还有一些其他的。 – 2011-03-02 10:57:02
'KWD','SAR','AED'是三个字母的货币首字母缩略词。大多数货币没有符号,但使用[ISO 4217](http://en.wikipedia.org/wiki/ISO_4217)中列出的ISO缩写。如果您的应用已本地化,则应使用适当的符号。例如'Kuwaiti Dinar'是'KWD'还有'د.ك' – 2012-06-13 05:38:42