# Complex Narrowing Conversion (Decimal to Complex)

.NET Framework 4

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

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

## Syntax

```'Declaration
Public Shared Narrowing Operator CType ( _
value As Decimal _
) As Complex
```

#### Parameters

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.

## Remarks

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.

## Examples

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

```
Dim numbers() As Decimal = { Decimal.MinValue, -18.35d, 0d, 1893.019d,
Decimal.MaxValue }
For Each number In numbers
Dim c1 As System.Numerics.Complex = CType(number,
System.Numerics.Complex)
Console.WriteLine("{0,30}  -->  {1}", number, c1)
Next
' The example displays the following output:
'    -79228162514264337593543950335  -->  (-7.92281625142643E+28, 0)
'                            -18.35  -->  (-18.3500003814697, 0)
'                                 0  -->  (0, 0)
'                          1893.019  -->  (1893.01904296875, 0)
'     79228162514264337593543950335  -->  (7.92281625142643E+28, 0)

```

Supported in: 4

Supported in: 4

## Platforms

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.