Question: I have a base class that inherits a page and changes the culture based on a pre-determined value set in the database. I need the culture to change the currency symbol but nothing else. If the value in the db says en-GB I need for it to change all currency values on the page to British pounds, and if it sais en-US show a US Dollar Sign. I need the culture variable to only effect the currency and nothing else, all dates, etc should be in the default culture(en-US)

Any ideas?

Answer: 
Basically you need to use a format provider when formatting your numbers as currency. Have a look at the following example:

```
public static string CulturedCurrency(decimal number,string culture = "en-US")
{
       NumberFormatInfo numberInfo = CultureInfo.CreateSpecificCulture(culture).NumberFormat;
        return number.ToString("c",numberInfo);
} 

```

Reference: <http://geekswithblogs.net/dtotzke/articles/24573.aspx>

If you want to do it inline on databinding have a look at the code here: [Format string by CultureInfo](https://stackoverflow.com/questions/1266093/format-string-by-cultureinfo)
Most ToString methods take a format provider; the Culture Info is a format provider. You are going to have to leave the current culture as en-US and manually format the currency values using the ToString() method.

<http://msdn.microsoft.com/en-us/library/3ebe5aks.aspx>

HTH.