I’ve been trying to figure out a way to format monetary values based on the ISO Currency Symbol which is are 3 letter string like: USD, AUD, CRC, EUR; that define a currency.
In .NET the RegionInfo class contains an ISOCurrencySymbol property which returns the Currency Symbol for the given region. Now on my system there are seven regions that have “USD” and I can’t use that to format monetary values.
A RegionInfo is constructed takes a culture string like “ar”, “ar-DZ", “en”, “en-US” etc. and each of these cultures has a specific Currency Symbol. So to format a monetary value we only need the culture string/name.
With the Culture Code we can get all the RegionInfo as well as the benefits of being able to format the currency suitably.
The DoCulture method (badly named) shows how to get relevant RegionInfo like the ISO currency symbol as well as how to format based on the culture.