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

Definición

Importante

Esta API no es conforme a CLS.

Alternativa conforme a CLS
System.Decimal.ToInt32(Decimal)

Convierte el valor del Decimal especificado en el entero de 16 bits sin signo equivalente.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

Parámetros

value
Decimal Decimal Decimal Decimal

Número decimal que se va a convertir.The decimal number to convert.

Devoluciones

Entero de 16 bits sin signo que equivale al valor de value.A 16-bit unsigned integer equivalent to the value of value.

Excepciones

value es mayor que MaxValue o menor que MinValue.value is greater than MaxValue or less than MinValue.

Ejemplos

En el ejemplo siguiente se ToUInt16 usa el método para convertir números UInt16 decimales en valores.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

Comentarios

El valor devuelto es la parte entera del valor decimal; los dígitos fraccionarios se truncan.The return value is the integral part of the decimal value; fractional digits are truncated.

También puede convertir un Decimal valor en un entero de 16 bits sin signo mediante el operador de Explicit asignación.You can also convert a Decimal value to a 16-bit unsigned integer by using the Explicit assignment operator. Dado que el operador realiza una conversión de restricción, debe utilizar un operador de conversión C# en o una función de conversión en Visual Basic.Because the operator performs a narrowing conversion, you must use a casting operator in C# or a conversion function in Visual Basic.

Se aplica a

Consulte también: