Convert.ToDouble Method (String)
Converts the specified string representation of a number to an equivalent double-precision floating-point number.
Assembly: mscorlib (in mscorlib.dll)
Parameters
- value
-
Type:
System.String
A string that contains the number to convert.
Return Value
Type: System.DoubleA double-precision floating-point number that is equivalent to the number in value, or 0 (zero) if value is null.
| Exception | Condition |
|---|---|
| FormatException | value is not a number in a valid format. |
| OverflowException | 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.
Available since 8
.NET Framework
Available since 1.1
Portable Class Library
Supported in: portable .NET platforms
Silverlight
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Windows Phone
Available since 8.1