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

定義

重要

この API は CLS 準拠ではありません。

CLS 準拠の代替
System.Decimal.ToInt32(Decimal)

指定した Decimal の値を、等価の 16 ビット符号なし整数に変換します。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

パラメーター

value
Decimal Decimal Decimal Decimal

変換する 10 進数。The decimal number to convert.

戻り値

value の値と等価な 16 ビット符号なし整数。A 16-bit unsigned integer equivalent to the value of value.

例外

valueMaxValue を超えているか、または MinValue 未満です。value is greater than MaxValue or less than MinValue.

次の例ではToUInt16 、メソッドを使用してUInt16 、10進数を値に変換します。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

注釈

戻り値は、10進値の整数部分です。小数点以下桁数は切り捨てられます。The return value is the integral part of the decimal value; fractional digits are truncated.

Explicit代入演算子を使用しDecimalて、値を16ビット符号なし整数に変換することもできます。You can also convert a Decimal value to a 16-bit unsigned integer by using the Explicit assignment operator. 演算子は縮小変換を実行するため、または Visual Basic の変換関数C#でキャスト演算子を使用する必要があります。Because the operator performs a narrowing conversion, you must use a casting operator in C# or a conversion function in Visual Basic.

適用対象

こちらもご覧ください