Decimal.Compare(Decimal, Decimal) Decimal.Compare(Decimal, Decimal) Decimal.Compare(Decimal, Decimal) Decimal.Compare(Decimal, Decimal) Method

Определение

Сравнивает два заданных значения Decimal.Compares two specified Decimal values.

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

Параметры

d1
Decimal Decimal Decimal Decimal

Первое сравниваемое значение.The first value to compare.

d2
Decimal Decimal Decimal Decimal

Второе сравниваемое значение.The second value to compare.

Возвраты

Число со знаком, обозначающее относительные значения параметров d1 и d2.A signed number indicating the relative values of d1 and d2.

Возвращаемое значениеReturn value ЗначениеMeaning
Меньше нуляLess than zero Значение d1 меньше d2.d1 is less than d2.
НульZero Значения параметров d1 и d2 равны.d1 and d2 are equal.
Больше нуля.Greater than zero Значение d1 больше значения d2.d1 is greater than d2.

Примеры

В следующем примере сравниваются несколько Decimal значений.The following example compares several Decimal values. Обратите внимание, что первое сравнение означает, что два значения равны, несмотря на то, что выполняется операция value2 вычитания для переменной.Note that the first comparison indicates that the two values are equal despite the subtraction operation performed on the value2 variable. Это обусловлено тем Decimal , что тип имеет 29 разрядов точности, в то время как разница между этими двумя значениями может быть обнаружена только с 30 значащими цифрами точности.This is because the Decimal type has 29 digits of precision, whereas a difference between these two values can be detected only with 30 digits of precision.

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
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

Применяется к

Дополнительно