Decimal Implicit Conversion (UInt64 to Decimal)
Microsoft Silverlight will reach end of support after October 2021. Learn more.
Converts a 64-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 ULong _
) As Decimal
public static implicit operator decimal (
ulong value
)
Parameters
- value
Type: System.UInt64
A 64-bit unsigned integer.
Return Value
Type: System.Decimal
A Decimal that represents the converted 64-bit unsigned integer.
Examples
The following code example converts UInt64 values to Decimal numbers using the UInt64 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 UInt64 to Decimal.
Imports System.Globalization
Module Example
Const formatter As String = _
"{0,20}{1,21}{2,10:X8}{3,9:X8}{4,9:X8}{5,9:X8}"
' Convert the UInt64 argument and display the Decimal value.
Sub DecimalFromUInt64(ByVal outputBlock As System.Windows.Controls.TextBlock, ByVal argument As UInt64)
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 " & _
"UInt64 to Decimal generates the " & vbCrLf & _
"following output. It displays the Decimal value " & _
"and its binary representation." & vbCrLf) & vbCrLf
outputBlock.Text &= String.Format(formatter, "UInt64 argument", _
"Decimal value", "bits(3)", "bits(2)", _
"bits(1)", "bits(0)") & vbCrLf
outputBlock.Text &= String.Format(formatter, "---------------", _
"-------------", "-------", "-------", _
"-------", "-------") & vbCrLf
' Convert UInt64 values and display the results.
DecimalFromUInt64(outputBlock, UInt64.Parse("0"))
DecimalFromUInt64(outputBlock, UInt64.Parse("18446744073709551615"))
DecimalFromUInt64(outputBlock, UInt64.Parse("FFFFFFFFFFFF", _
NumberStyles.HexNumber))
DecimalFromUInt64(outputBlock, UInt64.Parse("123456789123456789"))
DecimalFromUInt64(outputBlock, UInt64.Parse("1000000000000000"))
End Sub
End Module
' This example of the op_Implicit conversion from UInt64 to Decimal generates the
' following output. It displays the Decimal value and its binary representation.
'
' UInt64 argument Decimal value bits(3) bits(2) bits(1) bits(0)
' --------------- ------------- ------- ------- ------- -------
' 0 0 00000000 00000000 00000000 00000000
' 18446744073709551615 18446744073709551615 00000000 00000000 FFFFFFFF FFFFFFFF
' 281474976710655 281474976710655 00000000 00000000 0000FFFF FFFFFFFF
' 123456789123456789 123456789123456789 00000000 00000000 01B69B4B ACD05F15
' 1000000000000000 1000000000000000 00000000 00000000 00038D7E A4C68000
// Example of the implicit conversion from ulong to decimal.
using System;
class Example
{
const string formatter =
"{0,20}{1,21}{2,10:X8}{3,9:X8}{4,9:X8}{5,9:X8}";
// Convert the ulong argument and display the decimal value.
public static void DecimalFromUInt64(System.Windows.Controls.TextBlock outputBlock, ulong 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 ulong " +
"to decimal generates the \nfollowing output. It " +
"displays the decimal value and its binary " +
"representation.\n") + "\n";
outputBlock.Text += String.Format(formatter, "ulong argument",
"decimal value", "bits[3]", "bits[2]",
"bits[1]", "bits[0]") + "\n";
outputBlock.Text += String.Format(formatter, "--------------",
"-------------", "-------", "-------",
"-------", "-------") + "\n";
// Convert ulong values and display the results.
DecimalFromUInt64(outputBlock, ulong.MinValue);
DecimalFromUInt64(outputBlock, ulong.MaxValue);
DecimalFromUInt64(outputBlock, 0xFFFFFFFFFFFF);
DecimalFromUInt64(outputBlock, 123456789123456789);
DecimalFromUInt64(outputBlock, 1000000000000000);
}
}
/*
This example of the implicit conversion from ulong to decimal generates the
following output. It displays the decimal value and its binary representation.
ulong argument decimal value bits[3] bits[2] bits[1] bits[0]
-------------- ------------- ------- ------- ------- -------
0 0 00000000 00000000 00000000 00000000
18446744073709551615 18446744073709551615 00000000 00000000 FFFFFFFF FFFFFFFF
281474976710655 281474976710655 00000000 00000000 0000FFFF FFFFFFFF
123456789123456789 123456789123456789 00000000 00000000 01B69B4B ACD05F15
1000000000000000 1000000000000000 00000000 00000000 00038D7E A4C68000
*/
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.