Decimal.ToUInt32(Decimal) Metoda

Definice

Důležité

Toto rozhraní API neodpovídá specifikaci CLS.

Alternativa odpovídající specifikaci CLS
System.Decimal.ToInt64(Decimal)

Převede hodnotu zadaného Decimal na ekvivalentní unsigned integer bit 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

Parametry

d
Decimal

Desítkové číslo k převodu.The decimal number to convert.

Návraty

32 unsigned integer ekvivalent hodnoty d.A 32-bit unsigned integer equivalent to the value of d.

Atributy

Výjimky

d je záporná nebo větší než MaxValue.d is negative or greater than MaxValue.

Příklady

Následující příklad používá metodu ToUInt32 pro převod desítkových čísel na hodnoty 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

Poznámky

Vrácená hodnota obsahuje celočíselnou část desetinné hodnoty; číslice za desetinnou čárkou jsou oříznuty.The return value is the integral part of the decimal value; fractional digits are truncated.

Hodnotu Decimal lze také převést na 32-bit unsigned integer pomocí operátoru přiřazení Explicit.You can also convert a Decimal value to an 32-bit unsigned integer by using the Explicit assignment operator. Vzhledem k tomu, že operátor provádí zužující převod, je nutné použít operátor přetypování C# v nebo funkci konverze v Visual Basic.Because the operator performs a narrowing conversion, you must use a casting operator in C# or a conversion function in Visual Basic.

Platí pro

Viz také