Decimal.ToUInt32(Decimal) Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Konverterar värdet för det angivna Decimal till motsvarande 32-bitars osignerade heltal.
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
Parametrar
- d
- Decimal
Det decimaltal som ska konverteras.
Returer
Ett 32-bitars osignerat heltal som motsvarar värdet dför .
- Attribut
Undantag
d är negativt eller större än UInt32.MaxValue.
Exempel
I följande exempel används ToUInt32 metoden för att konvertera decimaltal till UInt32 värden.
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
Kommentarer
Returvärdet är en integrerad del av decimalvärdet. bråktalssiffror trunkeras.
Du kan också konvertera ett Decimal värde till ett 32-bitars osignerat heltal med hjälp Explicit av tilldelningsoperatorn. Eftersom operatorn utför en begränsad konvertering måste du använda en gjutningsoperator i C# eller en konverteringsfunktion i Visual Basic.