Decimal.ToUInt32(Decimal) Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Important
Cette API n’est pas conforme CLS.
- Alternative à la conformité CLS
- System.Decimal.ToInt64(Decimal)
Convertit la valeur du Decimal spécifié en entier 32 bits non signé équivalent.
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
Paramètres
- d
- Decimal
Nombre décimal à convertir.
Retours
Entier 32 bits signé équivalant à la valeur de d
.
- Attributs
Exceptions
d
est négatif ou supérieur à UInt32.MaxValue.
Exemples
L’exemple suivant utilise la ToUInt32 méthode pour convertir des nombres décimaux en UInt32 valeurs.
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
Remarques
La valeur de retour fait partie intégrante de la valeur décimale ; les chiffres fractionnaires sont tronqués.
Vous pouvez également convertir une Decimal valeur en entier non signé 32 bits à l’aide de l’opérateur d’assignation Explicit . Étant donné que l’opérateur effectue une conversion restrictive, vous devez utiliser un opérateur de cast en C# ou une fonction de conversion en Visual Basic.