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)

static double ToDouble (
	String^ value
public static double ToDouble (
	String value
public static function ToDouble (
	value : String
) : double
Not applicable.



A String containing a number to convert.

Return Value

A double-precision floating point number equivalent to the value of value. -or- Zero if value is a null reference (Nothing in Visual Basic).

Exception typeCondition


value is not a number in a valid format.


value represents a number less than MinValue or greater than MaxValue.

The return value is the result of invoking the Double.Parse method on value.

The following code sample illustrates the conversion of a String value to a Double one, using ToDouble.

   void CovertDoubleFloat( double doubleVal )
      float floatVal = 0;
      // A conversion from Double to Single cannot overflow.
      floatVal = System::Convert::ToSingle( doubleVal );
      System::Console::WriteLine( " {0} as a float is {1}",
                                  doubleVal, floatVal );

      // A conversion from Single to Double cannot overflow.
      doubleVal = System::Convert::ToDouble( floatVal );
      System::Console::WriteLine( " {0} as a double is: {1}",
                                  floatVal, doubleVal );


   void ConvertDoubleString( double doubleVal )
      String^ stringVal;
      // A conversion from Double to String cannot overflow.
      stringVal = System::Convert::ToString( doubleVal );
      System::Console::WriteLine( " {0} as a String is: {1}",
         doubleVal, stringVal );
         doubleVal = System::Convert::ToDouble( stringVal );
         System::Console::WriteLine( " {0} as a double is: {1}",
         stringVal, doubleVal );
      catch ( System::OverflowException^ ) 
         System::Console::WriteLine( "Conversion from String-to-double overflowed." );
      catch ( System::FormatException^ ) 
         System::Console::WriteLine( "The String was not formatted as a double." );
      catch ( System::ArgumentException^ ) 
         System::Console::WriteLine( "The String pointed to null." );

public void CovertDoubleFloat(double doubleVal)
    float floatVal = 0;

    // Double to float conversion cannot overflow.
        floatVal = System.Convert.ToSingle(doubleVal);
        System.Console.WriteLine("{0} as a float is {1}", 

    // Conversion from float to double cannot overflow.
    doubleVal = System.Convert.ToDouble(floatVal);
    System.Console.WriteLine("{0} as a double is: {1}", 
} //CovertDoubleFloat


public void ConvertDoubleString(double doubleVal)
    String stringVal;

    // A conversion from Double to string cannot overflow.       
    stringVal = System.Convert.ToString(doubleVal);
    System.Console.WriteLine("{0} as a string is: {1}", 
        System.Convert.ToString(doubleVal), stringVal);
    try {        
        doubleVal = System.Convert.ToDouble(stringVal);
        System.Console.WriteLine("{0} as a double is: {1}", stringVal, 
    catch (System.OverflowException exp) {        
            "Conversion from string-to-double overflowed.");
    catch (System.FormatException exp) {        
            "The string was not formatted as a double.");
    catch (System.ArgumentException exp) {        
        System.Console.WriteLine("The string pointed to null.");
} //ConvertDoubleString

Windows 98, Windows Server 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.

.NET Framework

Supported in: 3.0, 2.0, 1.1, 1.0

.NET Compact Framework

Supported in: 2.0, 1.0

XNA Framework

Supported in: 1.0