본문 바로가기
PL (Programming Language)/Java

[Java] 출력형식, 형식 문자열으로 출력하기: System.out.printf()

by jangThang 2022. 6. 11.
반응형

 C/C++과 동일하게, 출력 형식을 이용해서 문자열을 출력하는 방법을 알아보겠습니다.

 

[ Contents ]

     

     

    1. System.out.printf()

    System.out.printf("형식 문자열", 값);

     printf() 메서드는 변숫값의 출력 형식을 지정할 수 있습니다. 출력 형식은 숫자의 자릿수를 제한할 때 사용하며, 빈 자릿수는 0으로 채울 수도 있습니다.

     

     

    double weight = 72.22;
    double height = 175.2;
    System.out.printf("weight: %.2f kg, height: %.2f cm", weight, height);

     위 코드는 소수점 아래 2자리로만 제한해서 값을 출력한 예제입니다.

     

     

     

    2. 출력 형식 / 형식 문자열

     출력 형식은 '자릿수'와 '빈 자릿수를 채우는 방식'을 결정합니다.

     위 예시는 '총 5자릿수로, 소수점 아래는 둘째 자리만 나타내고 빈 자릿수는 오른쪽 공백'으로 채웁니다. 여기에서는 간단히 개념만 배우고, 이후 실제 코드로 자세히 알아보겠습니다.

     

     

    출력형식 자료형
    %d 정수
    %f 소수
    %s 문자열

     출력형식은 정수, 소수, 문자열에서 출력할 자릿수를 결정할 때, 사용할 수 있습니다. 

     

     

     

    3. 소수점 자리 고정, 0으로 채우기

     변수 값을 그대로 출력할 거면, 굳이 printf를 쓸 이유가 없습니다. 출력 형식은 주로 소수점 아래 자릿수 고정이나, 빈 자릿수를 0으로 채울 때 사용합니다.

     그러면, 실제 자주 사용하는 예제를 살펴보겠습니다.

     

    int hour = 4;
    int minute = 44;
    System.out.printf("%02d:%2d", hour, minute);

     시각을 출력할 때, 한 자릿수일 경우 빈 자리를 0으로 채우는 예제입니다. %02d 출력 형식으로 해결할 수 있습니다.

     

     

    System.out.printf("%.2f", 3.141592);

     소수점 아래 둘째 자리로만 출력을 제한한 예제입니다. %.2f 출력 형식을 사용합니다.

     

     

    System.out.printf("%07.2f", 123.123456);

     마지막으로 조금 심화 내용을 다뤄보겠습니다. 위 코드는 어떻게 출력될까요?

     

     

     

     

     

     

     정답은 0123.12입니다. 여기서 전체 자릿수 '7'은 소수점과 소수점 아랫자리도 포함합니다. 따라서 맨 앞에 0 하나만 붙습니다.

     

     

     

    System.out.printf("%07.2f", 123456.123456);

     그렇다면, 이건 어떨까요? 123456.123456는 총 13자리입니다. 7자리에 맞춰서 어떻게 출력될까요?

     

     

     

     정답은 123456.12 입니다. 소수점 앞자리는 잘리지 않습니다. 조금 복잡하죠? 그래도 이것만 알아두면, 앞으로 사용하며 헷갈릴 일은 없을 거예요!

     

     

    star가 되고나서 Tistory

    반응형

    댓글