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

Definition

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

Parameter

value
Decimal Decimal Decimal Decimal

Die zu konvertierende Dezimalzahl.The decimal number to convert.

Gibt zurück

Eine 16-Bit-Ganzzahl mit Vorzeichen, die value entspricht.A 16-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 ToInt16 Methode zum Konvertieren von Dezimalzahlen, Int16 Werte.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

Hinweise

Sie können auch konvertieren eine Decimal Wert in eine 16-Bit-Ganzzahl mit der Explicit Zuweisungsoperator.You can also convert a Decimal value to a 16-bit integer by using the Explicit assignment operator. Da der Operator eine einschränkende Konvertierung ausführt, müssen Sie einen Typumwandlungsoperator in C# oder eine Konvertierungsfunktion in Visual Basic 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