CultureInfo ci = new CultureInfo(UICulture);
var symbol = ci.NumberFormat.CurrencySymbol;
1
public static string GetCurrencySymbol(string currency)
{
if (currency == null) return "";
if (currency == "") return "";
int i = 0;
var regionInfo = new RegionInfo(System.Threading.Thread.CurrentThread.CurrentUICulture.LCID);
foreach (var cultureInfo in CultureInfo.GetCultures(CultureTypes.AllCultures & ~CultureTypes.NeutralCultures))
{
if (!cultureInfo.Equals(CultureInfo.InvariantCulture))
{
var regionCulture = new RegionInfo(cultureInfo.LCID);
if(regionCulture.ISOCurrencySymbol == currency)
{
//list.Add(regionCulture);
regionInfo = regionCulture;
}
}
}
7 回答
使用RegionInfo.ISOCurrencySymbol属性 . 例如:
输出:“美元”
你可以从
CultureInfo.CurrentCulture.NumberFormat.CurrencySymbol
获得符号,但我怀疑这已经足够了;您可能需要为每种文化维护一个单独的列表 . 或者只是让用户告诉你他们想要支付的费用(例如,他们可能不在家等,所以在一些酒店休息室的PC文化不是他们的信用卡上的文化)一旦你有了CultureInfo ci对象,你可以问一下
对于当前的文化,你只需要做
你基本上可以使用CultureInfo类
http://help.outlook.com/en-us/140/system.globalization.regioninfo.currencynativename(VS.85).aspx
你需要RegionInfo.CurrencyNativeName,RegionInfo.CurrencyEnglishName或RegionInfo.ISOCurrencySymbol