Convert::ToDecimal Method (Double)


Converts the value of the specified double-precision floating-point number to an equivalent decimal number.

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

static Decimal ToDecimal(
	double value


Type: System::Double

The double-precision floating-point number to convert.

Return Value

Type: System::Decimal

A decimal number that is equivalent to value.

Exception Condition

value is greater than Decimal::MaxValue or less than Decimal::MinValue.

The Decimal value returned by this method contains a maximum of 15 significant digits. If the value parameter contains more than 15 significant digits, it is rounded using rounding to nearest. The following example illustrates how the Convert::ToDecimal(Double) method uses rounding to nearest to return a Decimal value with 15 significant digits.

No code example is currently available or this language may not be supported.

The following example converts a Double value to a Decimal value.

   void ConvertDoubleDecimal( double doubleVal )
      Decimal decimalVal;

      // Conversion from double to decimal cannot overflow.
      decimalVal = System::Convert::ToDecimal( doubleVal );
      System::Console::WriteLine( " {0} as a decimal is: {1}",
         doubleVal, decimalVal );

      // Decimal to double conversion can overflow.
         doubleVal = System::Convert::ToDouble( decimalVal );
         System::Console::WriteLine( " {0} as a double is: {1}",
         decimalVal, doubleVal );
      catch ( System::OverflowException^ ) 
         System::Console::WriteLine( "Overflow in decimal-to-double conversion." );

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