Decimal.Compare(Decimal, 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.
Compare deux valeurs Decimal spécifiées.
public:
static int Compare(System::Decimal d1, System::Decimal d2);
public static int Compare (decimal d1, decimal d2);
static member Compare : decimal * decimal -> int
Public Shared Function Compare (d1 As Decimal, d2 As Decimal) As Integer
Paramètres
- d1
- Decimal
Première valeur à comparer.
- d2
- Decimal
Deuxième valeur à comparer.
Retours
Nombre signé indiquant les valeurs relatives de d1
et de d2
.
Valeur de retour | Signification |
---|---|
Inférieure à zéro |
d1 est inférieur à d2 .
|
Zéro |
d1 et d2 sont égaux.
|
Supérieure à zéro |
d1 est supérieur à d2 .
|
Exemples
L’exemple suivant compare plusieurs Decimal valeurs. Notez que la première comparaison indique que les deux valeurs sont égales malgré l’opération de soustraction effectuée sur la value2
variable. Cela est dû au fait que le Decimal type a 29 chiffres de précision, alors qu’une différence entre ces deux valeurs ne peut être détectée qu’avec 30 chiffres de précision.
using System;
public enum Relationship
{ LessThan = -1, Equals = 0, GreaterThan = 1 }
public class Example
{
public static void Main()
{
decimal value1 = Decimal.MaxValue;
decimal value2 = value1 - .01m;
Console.WriteLine("{0} {2} {1}", value1, value2,
(Relationship) Decimal.Compare(value1, value2));
value2 = value1 / 12m - .1m;
value1 = value1 / 12m;
Console.WriteLine("{0} {2} {1}", value1, value2,
(Relationship) Decimal.Compare(value1, value2));
value1 = value1 - .2m;
value2 = value2 + .1m;
Console.WriteLine("{0} {2} {1}", value1, value2,
(Relationship) Decimal.Compare(value1, value2));
}
}
// The example displays the following output:
// 79228162514264337593543950335 Equals 79228162514264337593543950335
// 6602346876188694799461995861.2 GreaterThan 6602346876188694799461995861.1
// 6602346876188694799461995861.0 LessThan 6602346876188694799461995861.2
open System
type Relationship =
| LessThan = -1
| Equals = 0
| GreaterThan = 1
[<EntryPoint>]
let main _ =
let value1 = Decimal.MaxValue
let value2 = value1 - 0.01m
printfn $"{value1} {Decimal.Compare(value1, value2) |> enum<Relationship>} {value2}"
let value2 = value1 / 12m - 0.1m
let value1 = value1 / 12m
printfn $"{value1} {Decimal.Compare(value1, value2) |> enum<Relationship>} {value2}"
let value1 = value1 - 0.2m
let value2 = value2 + 0.1m
printfn $"{value1} {Decimal.Compare(value1, value2) |> enum<Relationship>} {value2}"
0
// The example displays the following output:
// 79228162514264337593543950335 Equals 79228162514264337593543950335
// 6602346876188694799461995861.2 GreaterThan 6602346876188694799461995861.1
// 6602346876188694799461995861.0 LessThan 6602346876188694799461995861.2
Public Enum Relationship As Integer
LessThan = -1
Equals = 0
GreaterThan = 1
End Enum
Module Example
Public Sub Main()
Dim value1 As Decimal = Decimal.MaxValue
Dim value2 As Decimal = value1 - .01d
Console.WriteLine("{0} {2} {1}", value1, value2,
CType(Decimal.Compare(value1, value2), Relationship))
value2 = value1 / 12d - .1d
value1 = value1 / 12d
Console.WriteLine("{0} {2} {1}", value1, value2,
CType(Decimal.Compare(value1, value2), Relationship))
value1 = value1 - .2d
value2 = value2 + .1d
Console.WriteLine("{0} {2} {1}", value1, value2,
CType(Decimal.Compare(value1, value2), Relationship))
End Sub
End Module
' The example displays the following output:
' 79228162514264337593543950335 Equals 79228162514264337593543950335
' 6602346876188694799461995861.2 GreaterThan 6602346876188694799461995861.1
' 6602346876188694799461995861.0 LessThan 6602346876188694799461995861.2