2010-03-21 6 views

답변

59

%f 형식 지정자의 경우 "2" 소수점 앞에있는 자릿수가 아닌 최소 문자 수로 처리됩니다. 그러므로 당신은 4로 바꾸어서 두 개의 선행 숫자 + 소수점 + 하나의 10 진수를 얻습니다.

printf("%d:%02d:%04.1f hours\n", 1, 4, 2.123456); 
+1

위대한 작품입니다. 소수점 이하 2 자리이면 % 05.2f가 필요합니다 – steveh

+0

비 - 수레가있는 것도 좋습니다! – wuppi

12

%02.1f 대신 %04.1f을 시도하십시오. 여기서 "4"는 적어도 4 문자가 인쇄되고 "2.1"은 3 (> 2) 문자를 가지므로 4로 채우는 0을 사용할 수 있음을 의미합니다.

관련 문제