Decimal.ToInt16(Decimal) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Konvertiert den Wert des angegebenen Decimal in die entsprechende 16-Bit-Ganzzahl mit Vorzeichen.
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.
Gibt zurück
Eine 16-Bit-Ganzzahl mit Vorzeichen, die value
entspricht.
Ausnahmen
value
ist kleiner als Int16.MinValue oder größer als Int16.MaxValue.
Beispiele
Im folgenden Beispiel wird die ToInt16 -Methode verwendet, um Dezimalzahlen in Werte zu Int16 konvertieren.
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
open System
let values =
[ 123m; Decimal(123000, 0, 0, false, 3uy)
123.999m; 65535.999m; 65536m
32767.999m; 32768m; -0.999m
-1m; -32768.999m; -32769m ]
for value in values do
try
let number = Decimal.ToInt16 value
printfn $"{value} --> {number}"
with :? OverflowException as e ->
printfn $"{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 Decimal Wert auch mithilfe des Explicit Zuweisungsoperators in eine 16-Bit-Ganzzahl konvertieren. Da der Operator eine einschränkende Konvertierung ausführt, müssen Sie einen Umwandlungsoperator in C# oder eine Konvertierungsfunktion in Visual Basic verwenden.