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

C#의 Decimal.FromOACurrency() 메서드 – OLE 통화 값을 Decimal로 변환하기

C#의 Decimal.FromOACurrency() 메서드는 OLE 자동화(OLE Automation) 통화(Currency) 값을 포함하는 지정된 64비트 부호 있는 정수(long)를 이에 상응하는 Decimal 값으로 변환하는 데 사용됩니다.

OLE 자동화 통화란?

OLE 자동화 통화는 64비트 정수로 표현되는 고정 소수점 숫자 형식으로, 소수점 아래 네 자리까지 표현할 수 있습니다. 즉, 정수 값을 10,000으로 나눈 값이 실제 통화 금액에 해당합니다. 예를 들어 978576L을 변환하면 97.8576이라는 결과가 나오는 이유가 바로 이 때문입니다.

구문

메서드의 기본 구문은 다음과 같습니다.

public static decimal FromOACurrency (long val);

여기서 매개변수 val은 변환하려는 OLE 자동화 통화 값을 나타냅니다.

예제

다음은 Decimal.FromOACurrency() 메서드를 구현한 첫 번째 예제입니다.

using System;
public class Demo {
    public static void Main(){
        long val = 978576L;
        decimal res = Decimal.FromOACurrency(val);
        Console.WriteLine("Decimal Value = "+ res);
    }
}

출력 결과

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

Decimal Value = 97.8576

예제

이번에는 long 타입의 최솟값(long.MinValue)을 사용한 또 다른 예제를 살펴보겠습니다.

using System;
public class Demo {
    public static void Main(){
        long val = long.MinValue;
        decimal res = Decimal.FromOACurrency(val);
        Console.WriteLine("Decimal Value = "+ res);
    }
}

출력 결과

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

Decimal Value = -922337203685477.5808