Decimal.ToSByte(Decimal) Decimal.ToSByte(Decimal) Decimal.ToSByte(Decimal) Decimal.ToSByte(Decimal) Method

Definition

Wichtig

Diese API ist nicht CLS-kompatibel.

CLS-kompatible Alternative
System.Decimal.ToInt16(Decimal)

Konvertiert den Wert des angegebenen Decimal in die entsprechende 8-Bit-Ganzzahl mit Vorzeichen.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

Parameter

value
Decimal Decimal Decimal Decimal

Die zu konvertierende Dezimalzahl.The decimal number to convert.

Gibt zurück

Eine 8-Bit-Ganzzahl mit Vorzeichen, die value entspricht.An 8-bit signed integer equivalent to value.

Ausnahmen

value ist kleiner als MinValue oder größer als MaxValue.value is less than MinValue or greater than MaxValue.

Beispiele

Im folgenden Beispiel wird die ToSByte -Methode verwendet, um Dezimal SByte Zahlen in-Werte zu konvertieren.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

Hinweise

Sie können einen Decimal Wert auch in eine 8-Bit-Ganzzahl mit Vorzeichen konvertieren Explicit , indem Sie den Zuweisungs Operator verwenden.You can also convert a Decimal value to an 8-bit signed integer by using the Explicit assignment operator. Da der-Operator eine einschränkende Konvertierung durchführt, müssen Sie in Visual Basic C# einen Umwandlungs Operator oder eine Konvertierungs Funktion verwenden.Because the operator performs a narrowing conversion, you must use a casting operator in C# or a conversion function in Visual Basic.

Gilt für:

Siehe auch