Decimal.ToUInt64(Decimal) Yöntem

Tanım

Önemli

Bu API, CLS uyumlu değildir.

Belirtilen Decimal değerini, eşdeğer 64 bitlik işaretsiz tamsayıya dönüştürür.Converts the value of the specified Decimal to the equivalent 64-bit unsigned integer.

public:
 static System::UInt64 ToUInt64(System::Decimal d);
[System.CLSCompliant(false)]
public static ulong ToUInt64 (decimal d);
static member ToUInt64 : decimal -> uint64
Public Shared Function ToUInt64 (d As Decimal) As ULong

Parametreler

d
Decimal

Dönüştürülecek ondalık sayı.The decimal number to convert.

Döndürülenler

UInt64

ddeğerine denk 64 bitlik işaretsiz tamsayı.A 64-bit unsigned integer equivalent to the value of d.

Öznitelikler

Özel durumlar

d negatif veya MaxValuebüyüktür.d is negative or greater than MaxValue.

Örnekler

Aşağıdaki örnek, ondalık sayıları UInt64 değerlerine dönüştürmek için ToUInt64 yöntemini kullanır.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,
                           -9223372036854775808.999m,
                           -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
Module Example
   Public Sub Main()
      Dim values() As Decimal = { 123d, New Decimal(123000, 0, 0, false, 3), 
                                  123.999d, 18446744073709551615.999d, 
                                  18446744073709551616d, 9223372036854775807.999d, 
                                  9223372036854775808d, -0.999d, -1d, 
                                  -9223372036854775808.999d, 
                                  -9223372036854775809d }

      For Each value In values
         Try
            Dim number As ULong = Decimal.ToUInt64(value)
            Console.WriteLine("{0} --> {1}", value, number)       
         Catch e As OverflowException
             Console.WriteLine("{0}: {1}", e.GetType().Name, value)
         End Try   
      Next
   End Sub
End Module
' 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

Açıklamalar

Dönüş değeri ondalık değerin dahili bir parçasıdır; kesirli basamaklar ise kesilir.The return value is the integral part of the decimal value; fractional digits are truncated.

Ayrıca, Explicit atama işlecini kullanarak bir Decimal değerini 64 bitlik işaretsiz tamsayıya dönüştürebilirsiniz.You can also convert a Decimal value to an 64-bit unsigned integer by using the Explicit assignment operator. İşleci bir daraltma dönüştürmesi gerçekleştirdiğinden, içinde C# bir atama işleci veya Visual Basic bir dönüştürme işlevi kullanmanız gerekir.Because the operator performs a narrowing conversion, you must use a casting operator in C# or a conversion function in Visual Basic.

Şunlara uygulanır

Ayrıca bkz.