Decimal.ToUInt64(Decimal) 메서드

정의

중요

이 API는 CLS 규격이 아닙니다.

지정된 Decimal의 값을 해당하는 64비트 부호 없는 정수로 변환합니다.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

매개 변수

d
Decimal

변환할 10진수입니다.The decimal number to convert.

반환

d의 값에 해당하는 64비트 부호 없는 정수입니다.A 64-bit unsigned integer equivalent to the value of d.

특성

예외

d가 음수이거나 MaxValue보다 큽니다.d is negative or greater than MaxValue.

예제

다음 예제에서는 합니다 ToUInt64 10 진수 숫자를 변환 하는 방법 UInt64 값입니다.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

설명

반환 값은 10 진수 값의 정수 부분을 소수 자릿수는 잘립니다.The return value is the integral part of the decimal value; fractional digits are truncated.

변환할 수도 있습니다는 Decimal 값을 사용 하 여 64 비트 부호 없는 정수로 Explicit 대입 연산자입니다.You can also convert a Decimal value to an 64-bit unsigned integer by using the Explicit assignment operator. 축소 변환을 수행 하는 연산자, 때문에 캐스팅 연산자를 C# 또는 Visual Basic의 변환 함수를 사용 해야 합니다.Because the operator performs a narrowing conversion, you must use a casting operator in C# or a conversion function in Visual Basic.

적용 대상

추가 정보