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