Decimal Explicit Conversion (Decimal to Double)
Defines an explicit conversion of a Decimal to a double-precision floating-point number.
Assembly: mscorlib (in mscorlib.dll)
Parameters
- value
-
Type:
System::Decimal
The value to convert.
Return Value
Type: System::DoubleA double-precision floating-point number that represents the converted Decimal.
This operation can result in a loss of precision, because a double-precision floating-point number has fewer significant digits than a Decimal.
This operator supports the explicit conversion of a Decimal to a Double. The syntax for such explicit conversions is language-dependent, and individual language compilers can provide different implementations and return different results. The example illustrates the different return values when you explicitly convert a Decimal value to a Double value by using C#, C++, and Visual Basic. To perform a conversion that is independent of language, you can call the ToDouble or the Convert::ToDouble(Decimal) method.
The following example converts Decimal numbers to Double values by using the explicit Decimal to Double conversion.
using namespace System; void main() { // Define an array of Decimal values. array<Decimal>^ values = { Decimal::Parse("0.0000000000000000000000000001"), Decimal::Parse("0.0000000000123456789123456789"), Decimal::Parse("123"), Decimal(123000000, 0, 0, false, 6), Decimal::Parse("123456789.123456789"), Decimal::Parse("123456789123456789123456789"), Decimal::MinValue, Decimal::MaxValue }; // Convert each value to a double. for each (Decimal value in values) { double dblValue = (double) value; Console::WriteLine("{0} ({1}) --> {2} ({3})", value, value.GetType()->Name, dblValue, dblValue.GetType()->Name); } } // The example displays the following output: // 0.0000000000000000000000000001 (Decimal) --> 1E-28 (Double) // 0.0000000000123456789123456789 (Decimal) --> 1.23456789123457E-11 (Double) // 123 (Decimal) --> 123 (Double) // 123.000000 (Decimal) --> 123 (Double) // 123456789.123456789 (Decimal) --> 123456789.123457 (Double) // 123456789123456789123456789 (Decimal) --> 1.23456789123457E+26 (Double) // -79228162514264337593543950335 (Decimal) --> -7.92281625142643E+28 (Double) // 79228162514264337593543950335 (Decimal) --> 7.92281625142643E+28 (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