C#의 Int64.ToString() 메서드는 64비트 정수(long) 값의 현재 인스턴스를 동등한 문자열 표현으로 변환할 때 사용합니다. 이 메서드는 기본 형식으로 변환하거나, 지정된 서식 문자열(format)에 따라 다양한 형태로 출력할 수 있습니다.
구문
Int64.ToString() 메서드에는 두 가지 오버로드가 있습니다.
public override string ToString(); public string ToString(string format);
매개변수 format은 숫자 서식 문자열(numeric format string)로, 예를 들어 "D8"(10진수 8자리 패딩), "X"(16진수 표기) 등을 지정할 수 있습니다.
예제 1: 기본 ToString() 사용
다음은 ToString() 메서드의 기본적인 사용 예제입니다.
using System;
public class Demo {
public static void Main(){
long val1 = 0;
long val2 = Int64.MaxValue;
Console.WriteLine("Value1 = "+val1.ToString());
Console.WriteLine("Value2 = "+val2.ToString());
Console.WriteLine("Are they equal? = "+val1.Equals(val2));
Console.WriteLine("Value1 (HashCode) = "+val1.GetHashCode());
Console.WriteLine("Value2 (HashCode) = "+val2.GetHashCode());
TypeCode type1 = val1.GetTypeCode();
TypeCode type2 = val2.GetTypeCode();
Console.WriteLine("TypeCode for val1 = "+val1.GetTypeCode());
Console.WriteLine("TypeCode for val2 = " + val2.GetTypeCode());
}
}출력 결과
Value1 = 0 Value2 = 9223372036854775807 Are they equal? = False Value1 (HashCode) = 0 Value2 (HashCode) = -2147483648 TypeCode for val1 = Int64 TypeCode for val2 = Int64
위 예제에서 val2는 Int64.MaxValue, 즉 long 타입이 가질 수 있는 최댓값인 9,223,372,036,854,775,807이 할당되었습니다. ToString() 호출 시 이 큰 숫자도 문제없이 문자열로 변환되는 것을 확인할 수 있습니다.
예제 2: 서식 문자열과 함께 사용하기
이번에는 서식 문자열을 지정하여 원하는 형태로 변환하는 예제입니다.
using System;
public class Demo {
public static void Main(){
long val1 = 87987687;
long val2 = 35436367;
Console.WriteLine("Value1 = "+val1.ToString("D8"));
Console.WriteLine("Value2 = "+val2.ToString("X"));
Console.WriteLine("Are they equal? = "+val1.Equals(val2));
Console.WriteLine("Value1 (HashCode) = "+val1.GetHashCode());
Console.WriteLine("Value2 (HashCode) = "+val2.GetHashCode());
TypeCode type1 = val1.GetTypeCode();
TypeCode type2 = val2.GetTypeCode();
Console.WriteLine("TypeCode for val1 = "+val1.GetTypeCode());
Console.WriteLine("TypeCode for val2 = " + val2.GetTypeCode());
}
}출력 결과
Value1 = 87987687 Value2 = 21CB74F Are they equal? = False Value1 (HashCode) = 87987687 Value2 (HashCode) = 35436367 TypeCode for val1 = Int64 TypeCode for val2 = Int64
주요 포인트 정리
- "D8" 서식: 10진수 형식으로 최소 8자리를 보장합니다. 자릿수가 부족하면 앞에 0이 채워집니다.
- "X" 서식: 값을 대문자 16진수(Hexadecimal)로 변환합니다. 예제에서 35436367은 21CB74F로 출력되었습니다.
- TypeCode: 두 값 모두 GetTypeCode() 결과가 Int64로 반환되며, 이는 해당 값이 64비트 정수형임을 나타냅니다.
Int64.ToString()은 로깅, UI 출력, 파일 저장 등 숫자 데이터를 텍스트로 다루는 거의 모든 상황에서 활용되는 필수 메서드이므로, 서식 문자열과 함께 익혀두면 개발 생산성에 큰 도움이 됩니다.