Decimal.ToUInt16(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.
Wichtig
Diese API ist nicht CLS-kompatibel.
- CLS-kompatible Alternative
- System.Decimal.ToInt32(Decimal)
Konvertiert den Wert des angegebenen Decimal in die entsprechende 16-Bit-Ganzzahl ohne Vorzeichen.
public:
static System::UInt16 ToUInt16(System::Decimal value);
[System.CLSCompliant(false)]
public static ushort ToUInt16 (decimal value);
[<System.CLSCompliant(false)>]
static member ToUInt16 : decimal -> uint16
Public Shared Function ToUInt16 (value As Decimal) As UShort
Parameter
- value
- Decimal
Die zu konvertierende Dezimalzahl.
Gibt zurück
Eine 16-Bit-Ganzzahl ohne Vorzeichen, die dem Wert von value
entspricht.
- Attribute
Ausnahmen
value
ist größer als UInt16.MaxValue oder kleiner als UInt16.MinValue.
Beispiele
Im folgenden Beispiel wird die ToUInt16 -Methode verwendet, um Dezimalzahlen in Werte zu UInt16 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 {
ushort number = Decimal.ToUInt16(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
// 65535.999 --> 65535
// OverflowException: 65536
// 32767.999 --> 32767
// 32768 --> 32768
// -0.999 --> 0
// OverflowException: -1
// OverflowException: -32768.999
// 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.ToUInt16 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
// 65535.999 --> 65535
// OverflowException: 65536
// 32767.999 --> 32767
// 32768 --> 32768
// -0.999 --> 0
// OverflowException: -1
// OverflowException: -32768.999
// 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 UShort = Decimal.ToUInt16(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
' 65535.999 --> 65535
' OverflowException: 65536
' 32767.999 --> 32767
' 32768 --> 32768
' -0.999 --> 0
' OverflowException: -1
' OverflowException: -32768.999
' OverflowException: -32769
Hinweise
Der Rückgabewert ist der integrale Teil des Dezimalwerts. Bruchstellen werden abgeschnitten.
Sie können einen Decimal Wert auch mithilfe des Explicit Zuweisungsoperators in eine 16-Bit-Ganzzahl ohne Vorzeichen konvertieren. Da der Operator eine einschränkende Konvertierung ausführt, müssen Sie einen Umwandlungsoperator in C# oder eine Konvertierungsfunktion in Visual Basic verwenden.