Decimal.ToSByte(Decimal) 메서드

정의

중요

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

CLS 대체 규격
System.Decimal.ToInt16(Decimal)

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

public:
 static System::SByte ToSByte(System::Decimal value);
[System.CLSCompliant(false)]
public static sbyte ToSByte (decimal value);
static member ToSByte : decimal -> sbyte
Public Shared Function ToSByte (value As Decimal) As SByte

매개 변수

value
Decimal

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

반환

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

특성

예외

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

예제

다음 예제에서는 ToSByte 메서드를 사용 하 여 10 진수를 SByte 값으로 변환 합니다.The following example uses the ToSByte method to convert decimal numbers to SByte values.

using System;

class Example
{
   public static void Main( )
   {
      decimal[] values = { 123m, new Decimal(78000, 0, 0, false, 3),
                           78.999m, 255.999m, 256m,             
                           127.999m, 128m, -0.999m,              
                           -1m,  -128.999m, -129m };

      foreach (var value in values) {
         try {
            sbyte number = Decimal.ToSByte(value);
            Console.WriteLine("{0} --> {1}", value, number);       
         }
         catch (OverflowException e)
         {
             Console.WriteLine("{0}: {1}", e.GetType().Name, value);
         }   
      }
   }
}
// The example displays the following output:
//     78 --> 78
//     78.000 --> 78
//     78.999 --> 78
//     OverflowException: 255.999
//     OverflowException: 256
//     127.999 --> 127
//     OverflowException: 128
//     -0.999 --> 0
//     -1 --> -1
//     -128.999 --> -128
//     OverflowException: -129
Module Example
   Public Sub Main()
      Dim values() As Decimal = { 78d, New Decimal(78000, 0, 0, false, 3), 
                                  78.999d, 255.999d, 256d,
                                  127.999d, 128d, -0.999d, 
                                  -1d,  -128.999d, -129d }

      For Each value In values
         Try
            Dim number As SByte = Decimal.ToSByte(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:
'     78 --> 78
'     78.000 --> 78
'     78.999 --> 78
'     OverflowException: 255.999
'     OverflowException: 256
'     127.999 --> 127
'     OverflowException: 128
'     -0.999 --> 0
'     -1 --> -1
'     -128.999 --> -128
'     OverflowException: -129

설명

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

적용 대상

추가 정보