Windows apps
Collapse the table of content
Expand the table of content
The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

Decimal.ToUInt64 Method (Decimal)


The .NET API Reference documentation has a new home. Visit the .NET API Browser on to see the new experience.

Converts the value of the specified Decimal to the equivalent 64-bit unsigned integer.

This API is not CLS-compliant.

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

public static ulong ToUInt64(
	decimal d


Type: System.Decimal

The decimal number to convert.

Return Value

Type: System.UInt64

A 64-bit unsigned integer equivalent to the value of d.

Exception Condition

d is negative or greater than UInt64.MaxValue.

The return value is the integral part of the decimal value; fractional digits are truncated.

You can also convert a Decimal value to an 64-bit unsigned integer by using the Explicit(Decimal to UInt64) assignment operator. Because the operator performs a narrowing conversion, you must use a casting operator in C# or a conversion function in Visual Basic.

The following example uses the ToUInt64 method to convert decimal numbers to UInt64 values.

using System;

class Example
   public static void Main( )
      decimal[] values = { 123m, new Decimal(123000, 0, 0, false, 3), 
                           123.999m, 18446744073709551615.999m, 
                           18446744073709551616m, 9223372036854775807.999m, 
                           9223372036854775808m, -0.999m, -1m, 
                           -9223372036854775809m };

      foreach (var value in values) {
         try {             
            ulong number = Decimal.ToUInt64(value);
            Console.WriteLine("{0} --> {1}", value, number);       
         catch (OverflowException e)
             Console.WriteLine("{0}: {1}", e.GetType().Name, value);
// The example displays the following output:
//     123 --> 123
//     123.000 --> 123
//     123.999 --> 123
//     18446744073709551615.999 --> 18446744073709551615
//     OverflowException: 18446744073709551616
//     9223372036854775807.999 --> 9223372036854775807
//     9223372036854775808 --> 9223372036854775808
//     -0.999 --> 0
//     OverflowException: -1
//     OverflowException: -9223372036854775808.999
//     OverflowException: -9223372036854775809

Universal Windows Platform
Available since 8
.NET Framework
Available since 1.1
Portable Class Library
Supported in: portable .NET platforms
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Windows Phone
Available since 8.1
Return to top
© 2018 Microsoft