Convert.ToDouble Method (String)


The .NET API Reference documentation has a new home. Visit the .NET API Browser on to see the new experience.

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.

Exception Condition

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(String) 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. The example's output is from a system whose current culture is en-US.

using System;

public class Example
   public static void Main()
      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.

Universal Windows Platform
Available since 8
.NET Framework
Available since 1.1
Portable Class Library
Supported in: portable .NET platforms
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Windows Phone
Available since 8.1
Return to top