Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
ToDouble Method (String)

Convert.ToDouble Method (String)

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

Namespace:  System
Assemblies:   System.Runtime.Extensions (in System.Runtime.Extensions.dll)
  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(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.

.NET Framework

Supported in: 4.6, 4.5, 4, 3.5, 3.0, 2.0, 1.1

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

XNA Framework

Supported in: 3.0, 2.0, 1.0

.NET for Windows Phone apps

Supported in: Windows Phone 8.1, Windows Phone Silverlight 8.1, Windows Phone Silverlight 8

Portable Class Library

Supported in: Portable Class Library
© 2015 Microsoft