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

C#에서 Decimal을 Int64(long)로 변환하는 방법

C#에서 Decimal을 Int64(long)로 변환하기

C#에서 decimal 타입의 값을 Int64(long)로 변환하려면 Convert.ToInt64() 메서드를 사용하면 됩니다.

먼저 다음과 같은 decimal 변수가 있다고 가정해 보겠습니다.

decimal d = 310.23m;

이 값을 Int64로 변환하려면 Convert.ToInt64() 메서드에 해당 변수를 전달하기만 하면 됩니다.

long res;
res = Convert.ToInt64(d);

그럼 실제 동작 과정을 확인할 수 있는 전체 예제를 살펴보겠습니다.

예제

using System;
class Demo {
   static void Main() {
      decimal d = 190.66m;
      long res;
      res = Convert.ToInt64(d);
      Console.WriteLine("Converted Decimal '{0}' to Int64 value {1}", d, res);
   }
}

출력 결과

Converted Decimal '190.66' to Int64 value 191

참고 사항

Convert.ToInt64() 메서드는 소수점 이하 값을 단순히 잘라내는 것이 아니라 반올림하여 처리합니다. 위 예제에서 190.66이 191로 변환된 것을 확인할 수 있습니다.

또한 이 메서드는 .NET의 기본 반올림 방식인 은행원 반올림(Banker's Rounding)을 따릅니다. 따라서 소수 부분이 정확히 0.5인 경우에는 가장 가까운 짝수로 반올림됩니다. 예를 들어 190.5는 190으로, 191.5는 192로 변환됩니다.