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

C# 문자열 포맷으로 소수점 둘째 자리까지 또는 정수 형태로 숫자 표시하는 방법

C#에서는 String.Format 메서드를 사용하여 지정된 형식에 따라 객체의 값을 문자열로 변환하고, 그 결과를 다른 문자열 안에 삽입할 수 있습니다.

네임스페이스: System
어셈블리: System.Runtime.dll

복합 서식 지정(Composite Formatting)이란?

Format 메서드의 모든 오버로드는 복합 서식 지정 기능을 기반으로 동작합니다. 복합 형식 문자열 안에는 인덱스가 0부터 시작하는 자리 표시자(형식 항목, format item)를 넣을 수 있으며, 실행 시점에 각 형식 항목은 매개변수 목록에서 해당하는 인수의 문자열 표현으로 대체됩니다.

만약 인수의 값이 null이라면, 해당 형식 항목은 빈 문자열(String.Empty)로 대체됩니다.

예제 1: string.Format 사용하기

class Program {
    static void Main(string[] args) {
        int number = 123;
        var s = string.Format("{0:0.00}", number);
        System.Console.WriteLine(s);
        Console.ReadLine();
    }
}

출력 결과

123.00

위 예제에서 "{0:0.00}" 형식 지정자는 숫자를 항상 소수점 둘째 자리까지 표시하도록 만듭니다. 정수 123조차 123.00으로 출력되는 것을 확인할 수 있습니다.

문자열 보간(String Interpolation) 활용하기

문자열 보간 기능은 복합 서식 지정 위에 구축된 기능으로, 형식이 지정된 식의 결과를 결과 문자열에 포함할 때 더 읽기 쉽고 편리한 문법을 제공합니다.

문자열 리터럴을 보간 문자열로 지정하려면 앞에 $ 기호를 붙이면 됩니다. 보간 문자열 안에는 값을 반환하는 모든 유효한 C# 식을 포함할 수 있습니다.

다음 예제에서는 식이 평가되는 즉시 그 결과가 문자열로 변환되어 결과 문자열에 포함됩니다.

예제 2: 문자열 보간 사용하기

class Program {
    static void Main(string[] args) {
        int number = 123;
        var aNumberAsString = $"{number:0.00}";
        System.Console.WriteLine(aNumberAsString);
        Console.ReadLine();
    }
}

출력 결과

123.00

두 방식 모두 동일한 결과를 출력하지만, 문자열 보간은 변수와 형식 지정자를 한눈에 파악하기 쉬워 최신 C# 코드에서 더 널리 사용됩니다. 참고로 소수점 아래 최대 두 자리까지만 표시하고 불필요한 뒤따르는 0을 제거하고 싶다면 "0.##" 형식 지정자를 사용하면 됩니다.