Decimal.ToInt16(Decimal) Decimal.ToInt16(Decimal) Decimal.ToInt16(Decimal) Decimal.ToInt16(Decimal) Method

정의

지정된 Decimal의 값을 해당하는 16비트 부호 있는 정수로 변환합니다.Converts the value of the specified Decimal to the equivalent 16-bit signed integer.

public:
 static short ToInt16(System::Decimal value);
public static short ToInt16 (decimal value);
static member ToInt16 : decimal -> int16
Public Shared Function ToInt16 (value As Decimal) As Short

매개 변수

value
Decimal Decimal Decimal Decimal

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

반환

value에 해당하는 16비트 부호 있는 정수입니다.A 16-bit signed integer equivalent to value.

예외

valueMinValue보다 작거나 MaxValue보다 큽니다.value is less than MinValue or greater than MaxValue.

예제

다음 예제에서는 합니다 ToInt16 10 진수 숫자를 변환 하는 방법 Int16 값입니다.The following example uses the ToInt16 method to convert decimal numbers to Int16 values.

using System;

class Example
{
   public static void Main( )
   {
      decimal[] values = { 123m, new Decimal(123000, 0, 0, false, 3),
                           123.999m, 65535.999m, 65536m,             
                           32767.999m, 32768m, -0.999m,              
                           -1m,  -32768.999m, -32769m };

      foreach (var value in values) {
         try {
            short number = Decimal.ToInt16(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
//     OverflowException: 65535.999
//     OverflowException: 65536
//     32767.999 --> 32767
//     OverflowException: 32768
//     -0.999 --> 0
//     -1 --> -1
//     -32768.999 --> -32768
//     OverflowException: -32769
Module Example
   Public Sub Main()
      Dim values() As Decimal = { 123d, New Decimal(123000, 0, 0, false, 3), 
                                  123.999d, 65535.999d, 65536d,
                                  32767.999d, 32768d, -0.999d, 
                                  -1d,  -32768.999d, -32769d }

      For Each value In values
         Try
            Dim number As Short = Decimal.ToInt16(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
'     OverflowException: 65535.999
'     OverflowException: 65536
'     32767.999 --> 32767
'     OverflowException: 32768
'     -0.999 --> 0
'     -1 --> -1
'     -32768.999 --> -32768
'     OverflowException: -32769

설명

변환할 수도 있습니다는 Decimal 16 비트 정수를 사용 하 여 값을 Explicit 대입 연산자입니다.You can also convert a Decimal value to a 16-bit 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.

적용 대상

추가 정보