Decimal.ToUInt32(Decimal) Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Converteert de waarde van de opgegeven Decimal waarde naar het equivalente 32-bits geheel getal zonder teken.
public:
static System::UInt32 ToUInt32(System::Decimal d);
[System.CLSCompliant(false)]
public static uint ToUInt32(decimal d);
[<System.CLSCompliant(false)>]
static member ToUInt32 : decimal -> uint32
Public Shared Function ToUInt32 (d As Decimal) As UInteger
Parameters
- d
- Decimal
Het decimale getal dat moet worden geconverteerd.
Retouren
Een 32-bits geheel getal zonder teken dat gelijk is aan de waarde van d.
- Kenmerken
Uitzonderingen
d is negatief of groter dan UInt32.MaxValue.
Voorbeelden
In het volgende voorbeeld wordt de ToUInt32 methode gebruikt om decimale getallen te converteren naar UInt32 waarden.
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
open System
let values =
[ 123m; Decimal(123000, 0, 0, false, 3uy)
123.999m; 4294967295.999m; 4294967296m
4294967296m; 2147483647.999m; 2147483648m
-0.999m; -1m; -2147483648.999m; -2147483649m ]
for value in values do
try
let number = Decimal.ToUInt32 value
printfn $"{value} --> {number}"
with :? OverflowException as e ->
printfn $"{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
Opmerkingen
De retourwaarde is het integraal onderdeel van de decimale waarde; fractionele cijfers worden afgekapt.
U kunt een Decimal waarde ook converteren naar een 32-bits geheel getal zonder teken met behulp van de Explicit toewijzingsoperator. Omdat de operator een narrowing conversie uitvoert, moet u een cast-operator in C# of een conversiefunctie gebruiken in Visual Basic.