Decimal.ToUInt16(Decimal) Decimal.ToUInt16(Decimal) Decimal.ToUInt16(Decimal) Decimal.ToUInt16(Decimal) Method

Definition

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.Converts the value of the specified Decimal to the equivalent 16-bit unsigned integer.

public:
 static System::UInt16 ToUInt16(System::Decimal value);
[System.CLSCompliant(false)]
public static ushort ToUInt16 (decimal value);
static member ToUInt16 : decimal -> uint16
Public Shared Function ToUInt16 (value As Decimal) As UShort

Parameter

value
Decimal Decimal Decimal Decimal

Die zu konvertierende Dezimalzahl.The decimal number to convert.

Gibt zurück

Eine 16-Bit-Ganzzahl ohne Vorzeichen, die dem Wert von value entspricht.A 16-bit unsigned integer equivalent to the value of value.

Ausnahmen

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

Beispiele

Im folgenden Beispiel wird die ToUInt16 Methode zum Konvertieren von Dezimalzahlen, UInt16 Werte.The following example uses the ToUInt16 method to convert decimal numbers to UInt16 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 {
            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
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 ganzzahlige Teil von der decimal-Wert. Dezimalstellen werden abgeschnitten.The return value is the integral part of the decimal value; fractional digits are truncated.

Sie können auch konvertieren eine Decimal Wert in eine 16-Bit-Ganzzahl ohne Vorzeichen mithilfe der Explicit Zuweisungsoperator.You can also convert a Decimal value to a 16-bit unsigned 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