변수에는 46.5라고 넣었는데 실행결과에는 값 뒤에 0이 5개나 더 붙어서 46.500000으로 나왔네요. 이는 printf() 함수 때문입니다. printf() 함수는 실수형 변수의 값을 출력할 때 기본으로 소수점 이하 여섯째 자리까지 출력합니다. 그런데 불필요한 0 없이 원하는 자릿수까지만 보고 싶습니다. 이럴 때는 다음과 같이 서식 지정자에 출력값의 자릿수를 지정하면 됩니다.
2.2.4 실수형변수.c
#include <stdio.h>
int main(void) {
float f = 46.5f;
printf("%.2f\n", f);
return 0;
}
실행결과 |
46.50 |
코드에서 .2는 값을 소수점 이하 셋째 자리에서 반올림해서 소수점 이하 둘째 자리까지만 출력하라는 의미입니다. 실행해 보면 46.50으로, 정확히 소수점 둘째 자리까지만 출력합니다.