Decimal.ToUInt64 Method
[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]
Converts the value of the specified Decimal to the equivalent 64-bit unsigned integer.
Assembly: mscorlib (in mscorlib.dll)
Parameters
- d
- Type: System.Decimal
A Decimal value to convert.
| Exception | Condition |
|---|---|
| OverflowException | d is negative or greater than UInt64.MaxValue. |
The following code example converts Decimal numbers to UInt64 values using the ToUInt64 method.
// Example of the decimal.ToInt64 and decimal.ToUInt64 methods. using System; class Example { const string formatter = "{0,25}{1,22}{2,22}"; // Get the exception type name; remove the namespace prefix. public static string GetExceptionType(Exception ex) { string exceptionType = ex.GetType().ToString(); return exceptionType.Substring( exceptionType.LastIndexOf('.') + 1); } // Convert the decimal argument; catch exceptions that are thrown. public static void DecimalToU_Int64(System.Windows.Controls.TextBlock outputBlock, decimal argument) { object Int64Value; object UInt64Value; // Convert the argument to a long value. try { Int64Value = decimal.ToInt64(argument); } catch (Exception ex) { Int64Value = GetExceptionType(ex); } // Convert the argument to a ulong value. try { UInt64Value = decimal.ToUInt64(argument); } catch (Exception ex) { UInt64Value = GetExceptionType(ex); } outputBlock.Text += String.Format(formatter, argument, Int64Value, UInt64Value) + "\n"; } public static void Demo(System.Windows.Controls.TextBlock outputBlock) { outputBlock.Text += String.Format("This example of the \n" + " decimal.ToInt64( decimal ) and \n" + " decimal.ToUInt64( decimal ) \nmethods " + "generates the following output. It \ndisplays " + "several converted decimal values.\n") + "\n"; outputBlock.Text += String.Format(formatter, "decimal argument", "long/exception", "ulong/exception") + "\n"; outputBlock.Text += String.Format(formatter, "----------------", "--------------", "---------------") + "\n"; // Convert decimal values and display the results. DecimalToU_Int64(outputBlock, 123M); DecimalToU_Int64(outputBlock, new decimal(123000, 0, 0, false, 3)); DecimalToU_Int64(outputBlock, 123.999M); DecimalToU_Int64(outputBlock, 18446744073709551615.999M); DecimalToU_Int64(outputBlock, 18446744073709551616M); DecimalToU_Int64(outputBlock, 9223372036854775807.999M); DecimalToU_Int64(outputBlock, 9223372036854775808M); DecimalToU_Int64(outputBlock, -0.999M); DecimalToU_Int64(outputBlock, -1M); DecimalToU_Int64(outputBlock, -9223372036854775808.999M); DecimalToU_Int64(outputBlock, -9223372036854775809M); } } /* This example of the decimal.ToInt64( decimal ) and decimal.ToUInt64( decimal ) methods generates the following output. It displays several converted decimal values. decimal argument long/exception ulong/exception ---------------- -------------- --------------- 123 123 123 123.000 123 123 123.999 123 123 18446744073709551615.999 OverflowException 18446744073709551615 18446744073709551616 OverflowException OverflowException 9223372036854775807.999 9223372036854775807 9223372036854775807 9223372036854775808 OverflowException 9223372036854775808 -0.999 0 0 -1 -1 OverflowException -9223372036854775808.999 -9223372036854775808 OverflowException -9223372036854775809 OverflowException OverflowException */
Show: