Computer >> 컴퓨터 >  >> 프로그래밍 >> C#

C# Decimal.Negate() 메서드 완벽 정리 – 부호 반전 방법과 실전 예제

C#의 Decimal.Negate() 메서드는 지정된 Decimal 값에 -1을 곱한 결과, 즉 부호가 반전된 값을 반환하는 정적(static) 메서드입니다. 양수는 음수로, 음수는 양수로 변환할 때 유용하게 사용됩니다.

문법(Syntax)

Decimal.Negate() 메서드의 기본 문법은 다음과 같습니다.

public static decimal Negate (decimal val);

여기서 매개변수 val은 부호를 반전시킬 대상 Decimal 값입니다.

예제 1

첫 번째 예제를 통해 Decimal.Negate() 메서드의 동작을 확인해 보겠습니다.

using System;
public class Demo {
    public static void Main(){
        Decimal val = 3972.491M;
        Console.WriteLine("Decimal Value = {0}", val);
        Console.WriteLine("HashCode = {0}", (val.GetHashCode()) );
        TypeCode type = val.GetTypeCode();
        Console.WriteLine("TypeCode = "+type);
        Decimal res = Decimal.Negate(val);
        Console.WriteLine("Negative (Decimal) = "+res);
    }
}

출력 결과

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

Decimal Value = 3972.491
HashCode = 620041307
TypeCode = Decimal
Negative (Decimal) = -3972.491

양수였던 3972.491이 Negate() 메서드를 통해 음수인 -3972.491로 변환된 것을 확인할 수 있습니다.

예제 2

이번에는 음수 값에 Negate() 메서드를 적용해 보겠습니다.

using System;
public class Demo {
    public static void Main(){
        Decimal val = -29.35m;
        Console.WriteLine("Decimal Value = {0}", val);
        Console.WriteLine("HashCode = {0}", (val.GetHashCode()) );
        TypeCode type = val.GetTypeCode();
        Console.WriteLine("TypeCode = "+type);
        Decimal res = Decimal.Negate(val);
        Console.WriteLine("Negative (Decimal) = "+res);
    }
}

출력 결과

위 코드의 실행 결과는 다음과 같습니다.

Decimal Value = -29.35
HashCode = 1503969289
TypeCode = Decimal
Negative (Decimal) = 29.35

음수였던 -29.35가 양수인 29.35로 반전되어 반환되었습니다.

핵심 정리

  • Decimal.Negate()는 전달받은 값의 부호를 반전하여 새로운 Decimal 값을 반환합니다.
  • 원본 값(val)은 변경되지 않으며, 결과는 별도의 변수에 저장해야 합니다.
  • 0(Zero)에 적용하면 부호 없는 0이 그대로 반환됩니다.
  • 단순히 -1을 곱하는 것과 동일한 효과를 내지만, 가독성과 의도 전달 측면에서 메서드 사용이 권장됩니다.