Decimal.ToUInt32(Decimal) Decimal.ToUInt32(Decimal) Decimal.ToUInt32(Decimal) Decimal.ToUInt32(Decimal) Method

定義

重要

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

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

指定した Decimal の値を、等価の 32 ビット符号なし整数に変換します。Converts the value of the specified Decimal to the equivalent 32-bit unsigned integer.

public:
 static System::UInt32 ToUInt32(System::Decimal d);
[System.CLSCompliant(false)]
public static uint ToUInt32 (decimal d);
static member ToUInt32 : decimal -> uint32
Public Shared Function ToUInt32 (d As Decimal) As UInteger

パラメーター

d
Decimal Decimal Decimal Decimal

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

戻り値

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

例外

d が負か MaxValue を超えています。d is negative or greater than MaxValue.

次の例では、ToUInt32を 10 進数値に変換するメソッドUInt32値。The following example uses the ToUInt32 method to convert decimal numbers to UInt32 values.

using System;

class Example
{
   public static void Main( )
   {
      decimal[] values = { 123m, new decimal(123000, 0, 0, false, 3), 
                           123.999m, 4294967295.999m, 4294967296m,
                           4294967296m, 2147483647.999m, 2147483648m, 
                           -0.999m, -1m, -2147483648.999m, -2147483649m };

      foreach (var value in values) {
         try {
            uint number = Decimal.ToUInt32(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
//     4294967295.999 --> 4294967295
//     OverflowException: 4294967296
//     OverflowException: 4294967296
//     2147483647.999 --> 2147483647
//     2147483648 --> 2147483648
//     -0.999 --> 0
//     OverflowException: -1
//     OverflowException: -2147483648.999
//     OverflowException: -2147483649
Module Example
   Public Sub Main()
      Dim values() As Decimal = { 123d, New Decimal(123000, 0, 0, false, 3), 
                                  123.999d, 4294967295.999d, 4294967296d,
                                  4294967296d, 2147483647.999d, 2147483648d, 
                                  -0.999d, -1d, -2147483648.999d, -2147483649d }

      For Each value In values
         Try
            Dim number As UInteger = Decimal.ToUInt32(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
'     4294967295.999 --> 4294967295
'     OverflowException: 4294967296
'     OverflowException: 4294967296
'     2147483647.999 --> 2147483647
'     2147483648 --> 2147483648
'     -0.999 --> 0
'     OverflowException: -1
'     OverflowException: -2147483648.999
'     OverflowException: -2147483649

注釈

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

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

適用対象

こちらもご覧ください