대부분의 경우 소수점 자리만 제한하는데
정수쪽도 길이 제한할일이 있어서 찾아보는데 묘하게 자료가 없어서 테스트 해봄
다만 리눅스에서 한거라 윈도우에서는 다를수 있음
void main()
{
float a = -12.12334;
printf("%f\n", a);
printf("%4.1f\n",a);
printf("%5.1f\n",a);
printf("%6.1f\n",a);
printf("%7.1f\n",a);
printf("%7.2f\n",a);
printf("%7.3f\n",a);
printf("%9.1f\n",a);
printf("%9.2f\n",a);
printf("%9.3f\n",a);
}
$ ./a.out -12.123340 -12.1 -12.1 -12.1 -12.1 -12.12 -12.123 -12.1 -12.12 -12.123 |
%7.1f / %7.2f / %7.3f 와
%9.1f / %9.2f / %9.3f 가
어떻게 보면 내가 하고 싶었던 결과인데 자리를 정리하면 아래와 같이 나온다.
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | |
%7.3f | - | 1 | 2 | . | 1 | 2 | 3 | ||
%9.3f | - | 1 | 2 | . | 1 | 2 | 3 |
정리하자면
%n.mf 에서
n은 정수 부분, 소수점, 부호 를 포함한 전체 길이이고
m은 그중 소수점의 자릿수. m은 n 보다 작아야 한다.
'Programming > C Win32 MFC' 카테고리의 다른 글
free(): invalid next size (normal) (0) | 2023.12.18 |
---|---|
c에서 cpp 함수 불러오기 (0) | 2023.01.04 |
MSB / LSB 변환 (0) | 2022.08.29 |
kore - c restful api server (1) | 2022.07.07 |
fopen exclusivly (0) | 2021.07.09 |