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

C# 프로그래밍: Double 값을 Int64(long)로 변환하는 방법

C#에서 Double 값을 Int64 값으로 변환하려면 Convert.ToInt64() 메서드를 사용합니다.

Int64는 64비트 부호 있는 정수(signed integer)를 나타내며, C#에서는 long 키워드에 해당합니다. 이 메서드는 전달받은 실수의 소수점 이하 값을 반올림하여 정수 형태로 반환해 줍니다.

변환 방법

먼저 다음과 같은 double 값이 있다고 가정해 보겠습니다.

double val = 23.951213e12;

이 값을 Int64로 변환하는 것은 매우 간단합니다. Convert.ToInt64() 메서드에 해당 값을 인자로 전달하기만 하면 됩니다.

long longVal = Convert.ToInt64(val);

전체 예제 코드

using System;
public class Demo {
   public static void Main() {
      double val = 23.951213e12;
      long longVal = Convert.ToInt64(val);
      Console.WriteLine("Converted double {0:E} to Int64 {1:N0} value ", val, longVal);
   }
}

실행 결과

Converted double 2.395121E+013 to Int64 23,951,213,000,000 value

참고 사항

Convert.ToInt64() 메서드는 소수 부분을 반올림하여 처리하며, double 값이 Int64가 표현할 수 있는 범위(-9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807)를 벗어날 경우 OverflowException이 발생할 수 있으므로 주의해야 합니다. 따라서 변환 전에 값의 크기를 확인하거나, 필요한 경우 checked 블록을 활용해 오버플로우 상황을 명시적으로 처리하는 것이 좋습니다.