반응형
C에 선행 0이 있는 'printf'
다음과 같은 부동 소수점 번호가 있습니다.4917.24
소수점 앞에 항상 5자, 앞에 0, 그리고 소수점 뒤에 3자리가 되도록 인쇄하고 싶습니다.
나는 노력했다.printf("%05.3f", n)
사용하고 있는 임베디드 시스템에 탑재되어 있습니다만,*****
포맷 지정자가 맞습니까?
형식 지정자가 잘못되었습니다.에서printf()
man page on machine):
0
공백 패딩이 아닌 제로 패딩을 사용해야 함을 나타내는 제로 "0
문자입니다.둘 다 사용되는 경우 "-
는 "0
를 덮어씁니다.필드 폭: 필드 폭을 지정하는 숫자 문자열(옵션). 출력 문자열이 필드 폭보다 작을 경우 왼쪽(또는 왼쪽 조정 표시기가 있는 경우 오른쪽)에 빈 패드로 필드 폭을 구성합니다(선행 0은 플래그이지만 삽입 0은 필드 폭의 일부입니다).
정밀도:옵션의 마침표 「」
.
에 이어, e와 f 형식의 경우, 또는 문자열로부터 인쇄되는 최대 문자수를 지정하는 정밀도를 나타내는 임의의 숫자 문자열이 표시됩니다.숫자 문자열이 없는 경우 정밀도는 0으로 취급됩니다.
고객님의 경우 포맷은 다음과 같습니다.%09.3f
:
#include <stdio.h>
int main(int argc, char **argv)
{
printf("%09.3f\n", 4917.24);
return 0;
}
출력:
$ make testapp
cc testapp.c -o testapp
$ ./testapp
04917.240
이 답변은 임베디드 시스템에 탑재되어 있는 것을 조건으로 합니다.printf()
이러한 세부사항을 표준으로 준수하는 구현 - 많은 임베디드 환경에는 이러한 구현이 없습니다.
언급URL : https://stackoverflow.com/questions/5007487/printf-with-leading-zeros-in-c
반응형
'programing' 카테고리의 다른 글
C의 문자열에 문자 추가? (0) | 2022.08.31 |
---|---|
vuej를 사용한 다른 모바일 및 데스크톱 레이아웃 (0) | 2022.08.31 |
Vue 인스턴스/컴포넌트가 MVVM의 View Model만 됩니까? (0) | 2022.08.31 |
자바에서는 언제 Atomic Boolean을 사용해야 하나요? (0) | 2022.08.31 |
Vuetify 구성 요소에서 계산된 속성 및 Vuex와 함께 Vue v-model 바인딩을 사용하는 방법은 무엇입니까? (0) | 2022.08.30 |