Прочитать на английском

Поделиться через


Decimal.ToUInt16(Decimal) Метод

Определение

Важно!

Этот API несовместим с CLS.

Альтернативный вариант, совместимый с CLS
System.Decimal.ToInt32(Decimal)

Преобразует значение заданного объекта типа Decimal в эквивалентное 16-разрядное целое число без знака.

[System.CLSCompliant(false)]
public static ushort ToUInt16(decimal value);

Параметры

value
Decimal

Десятичное число для преобразования.

Возвращаемое значение

16-разрядное целое число без знака, эквивалентное значению value.

Атрибуты

Исключения

value Значение больше UInt16.MaxValue или меньше UInt16.MinValue.

Примеры

В следующем примере метод используется ToUInt16 для преобразования десятичных чисел в UInt16 значения.

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

Комментарии

Возвращаемое значение является неотъемлемой частью десятичного значения; Дробные цифры усекаются.

Можно также преобразовать Decimal значение в 16-битовое целое число без знака с помощью Explicit оператора присваивания. Так как оператор выполняет сужающее преобразование, необходимо использовать оператор приведения в C# или функцию преобразования в Visual Basic.

Применяется к

Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

См. также раздел