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 블록을 활용해 오버플로우 상황을 명시적으로 처리하는 것이 좋습니다.