Decimal.ToInt16(Decimal) Methode

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

Die zu konvertierende Dezimalzahl.The decimal number to convert.

Gibt zurück

Int16

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 verwendet, um Dezimalzahlen in-Werte zu konvertieren 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

Hinweise

Sie können einen Wert auch Decimal in eine 16-Bit-Ganzzahl konvertieren, indem Sie den Explicit Zuweisungs Operator verwenden.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 durchführt, müssen Sie in c# einen Typumwandlungs Operator oder eine Konvertierungs Funktion 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