How do I parse a string with a decimal point to a double?

Legate picture Legate · Aug 30, 2009 · Viewed 341.4k times · Source

I want to parse a string like "3.5" to a double. However,

double.Parse("3.5") 

yields 35 and

double.Parse("3.5", System.Globalization.NumberStyles.AllowDecimalPoint) 

throws a FormatException.

Now my computer's locale is set to German, wherein a comma is used as decimal separator. It might have to do something with that and double.Parse() expecting "3,5" as input, but I'm not sure.

How can I parse a string containing a decimal number that may or may not be formatted as specified in my current locale?

Answer

Mehrdad Afshari picture Mehrdad Afshari · Aug 30, 2009
double.Parse("3.5", CultureInfo.InvariantCulture)