# Decimal Implicit Conversion (UInt32 to Decimal)

Converts a 32-bit unsigned integer to a Decimal.

This API is not CLS-compliant.

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

## Syntax

``````'Declaration
Public Shared Widening Operator CType ( _
value As UInteger _
) As Decimal
``````
``````public static implicit operator decimal (
uint value
)
``````

#### Return Value

Type: System.Decimal
A Decimal that represents the converted 32-bit unsigned integer.

## Examples

The following code example converts UInt32 values to Decimal numbers using the UInt32 to Decimal conversion. This conversion is implicit in C#, but requires the op_Implicit operator in Visual Basic and C++. Implicit conversions to Decimal use other methods in these languages.

``````' Example of the op_Implicit conversion from UInt32 to Decimal.
Imports System.Globalization

Module Example

Const formatter As String = _
"{0,15}{1,15}{2,10:X8}{3,9:X8}{4,9:X8}{5,9:X8}"

' Convert the UInt32 argument and display the Decimal value.
Sub DecimalFromUInt32(ByVal outputBlock As System.Windows.Controls.TextBlock, ByVal argument As UInt32)

Dim decValue As Decimal
Dim bits() As Integer

' The compiler invokes a constructor in Visual Basic
' unless op_Implicit is explicitly called.
decValue = Decimal.op_Implicit(argument)

' Display the Decimal and its binary representation.
bits = Decimal.GetBits(decValue)
outputBlock.Text &= String.Format(formatter, argument, decValue, _
bits(3), bits(2), bits(1), bits(0)) & vbCrLf
End Sub

Public Sub Demo(ByVal outputBlock As System.Windows.Controls.TextBlock)

outputBlock.Text &= String.Format( _
"This example of the op_Implicit conversion from " & _
"UInt32 to Decimal generates the " & vbCrLf & _
"following output. It displays the Decimal value " & _
"and its binary representation." & vbCrLf) & vbCrLf
outputBlock.Text &= String.Format(formatter, "UInt32 argument", _
"Decimal value", "bits(3)", "bits(2)", _
"bits(1)", "bits(0)") & vbCrLf
outputBlock.Text &= String.Format(formatter, "---------------", _
"-------------", "-------", "-------", _
"-------", "-------") & vbCrLf

' Convert UInt32 values and display the results.
DecimalFromUInt32(outputBlock, UInt32.Parse("0"))
DecimalFromUInt32(outputBlock, UInt32.Parse("4294967295"))
DecimalFromUInt32(outputBlock, UInt32.Parse("FFFFFF", _
NumberStyles.HexNumber))
DecimalFromUInt32(outputBlock, UInt32.Parse("123456789"))
DecimalFromUInt32(outputBlock, UInt32.Parse("4000000000"))
End Sub
End Module

' This example of the op_Implicit conversion from UInt32 to Decimal generates the
' following output. It displays the Decimal value and its binary representation.
'
' UInt32 argument  Decimal value   bits(3)  bits(2)  bits(1)  bits(0)
' ---------------  -------------   -------  -------  -------  -------
'               0              0  00000000 00000000 00000000 00000000
'      4294967295     4294967295  00000000 00000000 00000000 FFFFFFFF
'        16777215       16777215  00000000 00000000 00000000 00FFFFFF
'       123456789      123456789  00000000 00000000 00000000 075BCD15
'      4000000000     4000000000  00000000 00000000 00000000 EE6B2800
``````
``````// Example of the implicit conversion from uint to decimal.
using System;

class Example
{
const string formatter =
"{0,15}{1,15}{2,10:X8}{3,9:X8}{4,9:X8}{5,9:X8}";

// Convert the uint argument and display the decimal value.
public static void DecimalFromUInt32(System.Windows.Controls.TextBlock outputBlock, uint argument)
{
decimal decValue;
int[] bits;

// Display the decimal and its binary representation.
decValue = argument;
bits = decimal.GetBits(decValue);

outputBlock.Text += String.Format(formatter, argument, decValue,
bits[3], bits[2], bits[1], bits[0]) + "\n";
}

public static void Demo(System.Windows.Controls.TextBlock outputBlock)
{
outputBlock.Text += String.Format(
"This example of the implicit conversion from uint " +
"to decimal generates the \nfollowing output. It " +
"displays the decimal value and its binary " +
"representation.\n") + "\n";
outputBlock.Text += String.Format(formatter, "uint argument",
"decimal value", "bits[3]", "bits[2]",
"bits[1]", "bits[0]") + "\n";
outputBlock.Text += String.Format(formatter, "-------------",
"-------------", "-------", "-------",
"-------", "-------") + "\n";

// Convert uint values and display the results.
DecimalFromUInt32(outputBlock, uint.MinValue);
DecimalFromUInt32(outputBlock, uint.MaxValue);
DecimalFromUInt32(outputBlock, 0xFFFFFF);
DecimalFromUInt32(outputBlock, 123456789);
DecimalFromUInt32(outputBlock, 4000000000);
}
}

/*
This example of the implicit conversion from uint to decimal generates the
following output. It displays the decimal value and its binary representation.

uint argument  decimal value   bits[3]  bits[2]  bits[1]  bits[0]
-------------  -------------   -------  -------  -------  -------
0              0  00000000 00000000 00000000 00000000
4294967295     4294967295  00000000 00000000 00000000 FFFFFFFF
16777215       16777215  00000000 00000000 00000000 00FFFFFF
123456789      123456789  00000000 00000000 00000000 075BCD15
4000000000     4000000000  00000000 00000000 00000000 EE6B2800
*/
``````

## Version Information

#### Silverlight

Supported in: 5, 4, 3

#### Silverlight for Windows Phone

Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0

#### XNA Framework

Supported in: Xbox 360, Windows Phone OS 7.0

## Platforms

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