Complex Explicit Conversion (Decimal to Complex)

Defines an explicit conversion of a Decimal value to a complex number.

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

public static explicit operator Complex (
	decimal value


Type: System.Decimal
The value to convert to a complex number.

Return Value

Type: System.Numerics.Complex
A complex number that has a real component equal to value and an imaginary component equal to zero.

Explicit conversion operators define types that can be converted to a Complex object. Language compilers do not perform this conversion automatically because it can involve data loss. Instead, they perform the conversion only if a casting operator (in C#) or a conversion function (such as CType in Visual Basic) is used. Otherwise, they display a compiler error.

The conversion of a Decimal value to the real part of a complex number can result in a loss of precision because a Double, which is the type of the complex number's Real property, has fewer significant digits than a Decimal.

The following example illustrates the explicit conversion of Decimal values to Complex values.

decimal[] numbers = { Decimal.MinValue, -18.35m, 0m, 1893.019m, 
                      Decimal.MaxValue };
foreach (decimal number in numbers)
   System.Numerics.Complex c1 = (System.Numerics.Complex)number;
   outputBlock.Text += String.Format("{0,30}  -->  {1}", number, c1) + "\n";
// The example displays the following output:
//    -79228162514264337593543950335  -->  (-7.92281625142643E+28, 0)
//                            -18.35  -->  (-18.35, 0)
//                                 0  -->  (0, 0)
//                          1893.019  -->  (1893.019, 0)
//     79228162514264337593543950335  -->  (7.92281625142643E+28, 0)


Supported in: 5, 4

For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.