Below is the code that find the CultureInfo by ISO Currency Code
protected CultureInfo CultureInfoFromCurrencyISO( string isoCode )
{
CultureInfo[] cultures = CultureInfo.GetCultures(CultureTypes.SpecificCultures);
foreach (CultureInfo ci in cultures)
{
RegionInfo ri = new RegionInfo(ci.LCID);
if (ri.ISOCurrencySymbol == isoCode)
{
return ci;
}
}
return null;
}
// Since one ISO Currency Code may be associated with more than one LCIDs
// We could rewrite the code to the following
public static IList CultureInfoFromCurrencyISO(string isoCode)
{
CultureInfo[] cultures = CultureInfo.GetCultures(CultureTypes.SpecificCultures);
IList Result = new ArrayList();
foreach (CultureInfo ci in cultures)
{
RegionInfo ri = new RegionInfo(ci.LCID);
if (ri.ISOCurrencySymbol == isoCode)
{
if(!Result.Contains(ci))
Result.Add(ci);
}
}
return Result;
}