title: Best way to convert decimal or string to currency in C#?
body: <p>I've been trying to find best way to convert decimal/string to currency depending on my choice.</p>
  
  <pre><code>        public static string returnWaluta(string varS, string varSymbol) {
          decimal varD = decimal.Parse(varS);
          if (varSymbol == "EUR") {
              Thread.CurrentThread.CurrentCulture = new CultureInfo("fr-FR", false);
              return String.Format("{0:c}", varD);
          } else if (varSymbol == "PLN") {
              Thread.CurrentThread.CurrentCulture = new CultureInfo("pl-PL", false);
              return String.Format("{0:c}", varD);
          } else if (varSymbol == "USD") {
              Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US", false);
              return String.Format("{0:c}", varD);
          } else {
              // Not handled currency
              MessageBox.Show(varSymbol);
              return varS.ToString();
          }
      }
     public static string returnWaluta(decimal varS, string varSymbol) {
          if (varSymbol == "EUR") {
              Thread.CurrentThread.CurrentCulture = new CultureInfo("fr-FR", false);
              return String.Format("{0:c}", varS);
          } else if (varSymbol == "PLN") {
              Thread.CurrentThread.CurrentCulture = new CultureInfo("pl-PL", false);
              return String.Format("{0:c}", varS);
          } else if (varSymbol == "USD") {
              Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US", false);
              return String.Format("{0:c}", varS);
          } else {
              // Not handled currency
              MessageBox.Show(varSymbol);
              return varS.ToString();
          }
     }
  </code></pre>
  
  <p>Is this good aproach or i could do this better? I get data from SQL database. I get decimal value and currency it is on (like EUR, USD, PLN). This seems to work but maybe there's better option? Also for now this is single threaded aplication, am i making global change when i change Thread.CurrentThread.CurrentCulture or is it just temporary until i return from the method?</p>
  
  <p>With regards, </p>
  
  <p>MadBoy</p>