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

C# Int64.ToString() 메서드 완벽 가이드: 숫자를 문자열로 변환하는 방법

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

위 예제에서 val2Int64.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 출력, 파일 저장 등 숫자 데이터를 텍스트로 다루는 거의 모든 상황에서 활용되는 필수 메서드이므로, 서식 문자열과 함께 익혀두면 개발 생산성에 큰 도움이 됩니다.