Decimal.Compare(Decimal, Decimal) Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Compara dois valores especificados Decimal .
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
Parâmetros
- d1
- Decimal
O primeiro valor a comparar.
- d2
- Decimal
O segundo valor a comparar.
Devoluções
Um número assinado que indica os valores relativos de d1 e d2.
| Valor de retorno | Significado |
|---|---|
| Menos que zero |
d1 é inferior a d2.
|
| Zero |
d1 e d2 são iguais.
|
| Maior que zero |
d1 é maior que d2.
|
Exemplos
O exemplo seguinte compara vários Decimal valores. Note-se que a primeira comparação indica que os dois valores são iguais apesar da operação de subtração realizada na value2 variável. Isto deve-se ao facto de o Decimal tipo ter 29 dígitos de precisão, enquanto uma diferença entre estes dois valores só pode ser detetada com 30 dígitos de precisão.
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