Decimal.Compare(Decimal, Decimal) 메서드

정의

지정된 두 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

비교할 첫 번째 값입니다.The first value to compare.

d2
Decimal

비교할 두 번째 값입니다.The second value to compare.

반환

d1d2의 상대 값을 나타내는 부호 있는 숫자입니다.A signed number indicating the relative values of d1 and d2.

반환 값Return value 의미Meaning
0보다 작습니다.Less than zero d1d2보다 작은 경우d1 is less than d2.
0Zero d1d2가 같은 경우d1 and d2 are equal.
0보다 큽니다.Greater than zero d1d2보다 큰 경우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

적용 대상

추가 정보