我有一些貨幣縮寫,如歐元,美元,英鎊和所有其他貨幣的下拉框。我想使用一些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