This documentation is archived and is not being maintained.

Convert.ToDouble Method (String)

Converts the specified string representation of a number to an equivalent double-precision floating-point number.

Namespace:  System
Assembly:  mscorlib (in mscorlib.dll)

public static double ToDouble(
	string value


Type: System.String
A string that contains the number to convert.

Return Value

Type: System.Double
A double-precision floating-point number that is equivalent to the number in value, or 0 (zero) if value is null.


value is not a number in a valid format.


value represents a number that is less than Double.MinValue or greater than Double.MaxValue.

Using the ToDouble method is equivalent to passing value to the Double.Parse(String) method. value is interpreted by using the formatting conventions of the current thread culture.

If you prefer not to handle an exception if the conversion fails, you can call the Double.TryParse method instead. It returns a Boolean value that indicates whether the conversion succeeded or failed.

The following example attempts to convert each element in an array of numeric strings to a Double.

string[] values= { "-1,035.77219", "1AFF", "1e-35", 
                   "1,635,592,999,999,999,999,999,999", "-17.455", 
                   "190.34001", "1.29e325"};
double result;

foreach (string value in values)
   try {
      result = Convert.ToDouble(value);
      Console.WriteLine("Converted '{0}' to {1}.", value, result);
   catch (FormatException) {
      Console.WriteLine("Unable to convert '{0}' to a Double.", value);
   catch (OverflowException) {
      Console.WriteLine("'{0}' is outside the range of a Double.", value);
// The example displays the following output:
//       Converted '-1,035.77219' to -1035.77219.
//       Unable to convert '1AFF' to a Double.
//       Converted '1e-35' to 1E-35.
//       Converted '1,635,592,999,999,999,999,999,999' to 1.635593E+24.
//       Converted '-17.455' to -17.455.
//       Converted '190.34001' to 190.34001.
//       '1.29e325' is outside the range of a Double.

.NET Framework

Supported in: 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Portable Class Library

Supported in: Portable Class Library

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.