C#의 Convert.ToInt64 메서드는 지정된 값을 64비트 부호 있는 정수(64-bit signed integer), 즉 long 타입으로 변환합니다.
먼저 double 타입의 값을 하나 준비해 보겠습니다.
double doubleNum = 193.834;
이제 이 값을 Int64, 즉 long 타입으로 변환합니다.
long res; res = Convert.ToInt64(doubleNum);
예제
using System;
public class Demo {
public static void Main() {
double doubleNum = 193.834;
long res;
res = Convert.ToInt64(doubleNum);
Console.WriteLine("Converted {0} to {1}", doubleNum, res);
}
}출력 결과
Converted 193.834 to 194
참고 사항
Convert.ToInt64 메서드는 소수점 이하 값을 반올림하여 변환합니다. 이때 .NET은 은행가 반올림(Banker's Rounding) 방식을 적용하므로, 소수점이 정확히 .5인 경우 가장 가까운 짝수로 반올림됩니다. 예를 들어 193.5는 194가 되며, 194.5 역시 194가 됩니다.
또한 인자로 null이 전달되면 0을 반환하며, 변환 결과가 Int64 범위(Int64.MinValue ~ Int64.MaxValue)를 벗어나면 OverflowException이 발생합니다. 문자열을 변환할 때는 형식이 올바르지 않은 경우 FormatException이 발생할 수 있으므로 주의해야 합니다.