Decimal.ToSByte(Decimal) Metoda

Definice

Důležité

Toto rozhraní API neodpovídá specifikaci CLS.

Alternativa odpovídající specifikaci CLS
System.Decimal.ToInt16(Decimal)

Převede hodnotu zadaného Decimal na ekvivalentní 8bitové celé číslo se znaménkem.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

Parametry

value
Decimal

Desítkové číslo k převodu.The decimal number to convert.

Návraty

8bitové celé číslo se znaménkem, které odpovídá value.An 8-bit signed integer equivalent to value.

Atributy

Výjimky

value je menší než MinValue nebo větší než MaxValue.value is less than MinValue or greater than MaxValue.

Příklady

Následující příklad používá metodu ToSByte pro převod desítkových čísel na hodnoty 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

Poznámky

Můžete také převést Decimal hodnotu na 8bitové celé číslo se znaménkem, a to pomocí operátoru přiřazení Explicit.You can also convert a Decimal value to an 8-bit signed integer by using the Explicit assignment operator. Vzhledem k tomu, že operátor provádí zužující převod, je nutné použít operátor přetypování C# v nebo funkci konverze v Visual Basic.Because the operator performs a narrowing conversion, you must use a casting operator in C# or a conversion function in Visual Basic.

Platí pro

Viz také