티스토리 뷰

C언어

C언어 printf 소수점 출력 완전 정리

박완희버서커 2025. 7. 13. 18:57
반응형
C언어 printf 소수점 출력 완전 정리

🔷 C언어 printf 소수점 출력 완전 정리입니다


📌 printf로 숫자를 출력하려면 형식을 지정해야 합니다

C언어에서 printf 함수는 사람이 읽을 수 있는 형태로 숫자를 화면에 출력하는 함수입니다.
숫자는 메모리에 이진수로 저장되므로, 이를 사람이 읽을 수 있는 문자열로 출력하려면 반드시 형식을 지정해야 합니다.
서식 지정자를 사용해야 하며, 정수는 %d, 실수는 %f를 사용합니다.


🔷 실수 출력 기본: %f입니다

실수를 출력할 때는 서식 지정자 %f를 사용합니다.
아래는 가장 기본적인 예제입니다.


#include 

int main() {
    double pi = 3.14;
    printf("%f", pi);
    return 0;
}
    

📤 출력 결과


3.140000
    

%f를 사용하면 소수점 이하 6자리까지 출력됩니다.
예를 들어 변수 값이 3.14라 하더라도 출력 결과는 3.140000으로 나타납니다.
이것이 printf의 기본 동작입니다.


🔷 소수점 자리수 지정: %.숫자f입니다

소수점 자리수를 지정하려면 %.숫자f를 사용합니다.
. 뒤에 오는 숫자는 소수점 이하 몇 자리까지 출력할지를 나타납니다.
아래 예제처럼 사용합니다.


#include 

int main() {
    printf("%.2f\n", 3.141592);
    return 0;
}
    

📤 출력 결과


3.14
    

다른 자리수의 예시는 다음과 같습니다.


#include 

int main() {
    printf("%.0f\n", 3.141592);
    printf("%.1f\n", 3.141592);
    printf("%.3f\n", 3.141592);
    printf("%.6f\n", 3.141592);
    return 0;
}
    

📤 출력 결과


3
3.1
3.142
3.141592
    

이처럼 자리수에 따라 출력 형식이 달라지고, 지정한 자리수보다 뒤쪽 숫자는 자동으로 반올림됩니다.


🔷 출력 폭 지정: %숫자.숫자f입니다

출력 폭을 지정하면 출력 문자열의 최소 길이를 지정할 수 있습니다.
폭이 출력될 숫자보다 크면 남는 칸만큼 왼쪽에 공백이 붙습니다.
폭이 출력될 숫자보다 작으면 폭 지정은 무시됩니다.

1️⃣ 출력 폭이 숫자보다 큰 경우입니다


#include 

int main() {
    printf("%8.2f\n", 12.3);
    return 0;
}
    

📤 출력 결과


   12.30
    

12.30은 5글자입니다. 폭이 8이므로 남는 3칸이 왼쪽에 공백으로 채워집니다.


2️⃣ 출력 폭이 숫자보다 조금 큰 경우입니다


#include 

int main() {
    printf("%6.2f\n", 12.3);
    return 0;
}
    

📤 출력 결과


 12.30
    

12.30은 5글자입니다. 폭이 6이므로 왼쪽에 공백 1칸이 붙습니다.


3️⃣ 출력 폭이 숫자와 같은 경우입니다


#include 

int main() {
    printf("%5.2f\n", 12.3);
    return 0;
}
    

📤 출력 결과


12.30
    

12.30은 5글자입니다. 폭과 같기 때문에 공백이 붙지 않습니다.


4️⃣ 출력 폭이 숫자보다 작은 경우입니다


#include 

int main() {
    printf("%4.2f\n", 12.3);
    return 0;
}
    

📤 출력 결과


12.30
    

12.30은 5글자입니다. 폭이 작기 때문에 폭 지정이 무시됩니다.


🔷 요약

  • printf로 실수를 출력할 때는 반드시 %f 형식을 지정하며, 기본적으로 소수점 이하 6자리까지 출력됩니다.
  • %.숫자f composes 소수점 이하 자리수를 지정할 수 있고, 지정한 자리수에서 자동으로 반올림됩니다.
  • %숫자.숫자f를 사용하면 출력 문자열의 최소 길이를 지정하며, 폭보다 짧을 경우 왼쪽에 공백으로 채워집니다.
  • 출력될 숫자가 폭보다 길면 폭 지정은 무시되며, 숫자는 그대로 출력됩니다.

반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/10   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함
반응형