저번에도 질문을 드렸는데 서식문자열에 %6,1f 이렇게 되어있는게 책을 봐도 이해가 전혀안됩니다
이해좀시켜주세요
안녕하세요 길벗수험서 운영팀입니다.
지수표현은 정확히 이해하신 것으로 가정하고 설명드리겠습니다.
'6.1f'는 화면에서 6자리(6)를 확보하여 소수점은 한자리(.1)만 출력하는 실수(f, float)를 우측정렬하여 출력하라는 의미를 담고 있습니다.
1234.567890 이라는 실수를 6.1f로 출력하게 된다면 컴퓨터는 먼저 화면에 6자리를 확보합니다.
ㅁㅁㅁㅁㅁㅁ (임의적으로 'ㅁ'을 공백이라고 가정하겠습니다.)
여기서 위의 수치를 소수점 한자리로 표현하게 되면, 1234.6이 됩니다.(둘째자리에서 반올림)
이제 한자리씩 채워보죠. 참고로 소수점(.)은 한자리를 차지하게 됩니다.
1234.6
총 6글자로 모든 자리를 사용하여 표시가 되겠네요.
------------------
12.34567을 6.1f로 출력해볼까요.
ㅁㅁㅁㅁㅁㅁ
12.34567을 소수점 한자리로 표현하게되면, 12.3이 됩니다.
자리를 채워보면 '1','2','.','3'이 총 4글자를 차지하게 되어,
ㅁㅁ12.3
앞의 두자리 공백이 포함된 12.3이 출력될 것입니다.
위의 예시를 적용하여 몇가지 문제를 예시로 풀어서 맞는지 문의 남겨주세요.
정확히 적용하여 해결하셨는지 확인해드리겠습니다.
예) 123.56789 의 10.3f 출력
예) 12의 5d 출력
예) 1234의 2d 출력
(정수부의 자리수가 적은 경우는 자리수를 무시하고 모두 출력된다는 점에 유의하세요.)
행복한 하루되세요 :)
-
관리자2019-10-04 10:11:55
안녕하세요 길벗수험서 운영팀입니다.
지수표현은 정확히 이해하신 것으로 가정하고 설명드리겠습니다.
'6.1f'는 화면에서 6자리(6)를 확보하여 소수점은 한자리(.1)만 출력하는 실수(f, float)를 우측정렬하여 출력하라는 의미를 담고 있습니다.
1234.567890 이라는 실수를 6.1f로 출력하게 된다면 컴퓨터는 먼저 화면에 6자리를 확보합니다.
ㅁㅁㅁㅁㅁㅁ (임의적으로 'ㅁ'을 공백이라고 가정하겠습니다.)
여기서 위의 수치를 소수점 한자리로 표현하게 되면, 1234.6이 됩니다.(둘째자리에서 반올림)
이제 한자리씩 채워보죠. 참고로 소수점(.)은 한자리를 차지하게 됩니다.
1234.6
총 6글자로 모든 자리를 사용하여 표시가 되겠네요.
------------------
12.34567을 6.1f로 출력해볼까요.
ㅁㅁㅁㅁㅁㅁ
12.34567을 소수점 한자리로 표현하게되면, 12.3이 됩니다.
자리를 채워보면 '1','2','.','3'이 총 4글자를 차지하게 되어,
ㅁㅁ12.3
앞의 두자리 공백이 포함된 12.3이 출력될 것입니다.
위의 예시를 적용하여 몇가지 문제를 예시로 풀어서 맞는지 문의 남겨주세요.
정확히 적용하여 해결하셨는지 확인해드리겠습니다.
예) 123.56789 의 10.3f 출력
예) 12의 5d 출력
예) 1234의 2d 출력
(정수부의 자리수가 적은 경우는 자리수를 무시하고 모두 출력된다는 점에 유의하세요.)
행복한 하루되세요 :)
-
관리자2019-10-07 10:35:41
안녕하세요 길벗수험서 운영팀입니다.
1, 2 정답입니다.
3의 경우 예상하신 부분이 맞습니다.
실수부와 달리 정수부의 자리수가 부족한 경우 정렬이나 자리수에 관계없이 모두 출력됩니다.
1234.5678의 %0.f 출력은 1234가 맞습니다.
다만 실수부를 생략하는 형태의 출력은 0을 생략한 "%.f"를 주로 사용합니다.
행복한 하루되세요 :)
-
*2019-10-04 13:20:33
위의 예시를 적용하여 몇가지 문제를 예시로 풀어서 맞는지 문의 남겨주세요.
정확히 적용하여 해결하셨는지 확인해드리겠습니다.
예1) 123.56789 의 10.3f 출력
예2) 12의 5d 출력
예3) 1234의 2d 출력
(정수부의 자리수가 적은 경우는 자리수를 무시하고 모두 출력된다는 점에 유의하세요.)
예1) 123.56789 의 10.3f 출력 -> □□□123.568
예2) 12의 5d 출력 -> □□□12
예3) 1234의 2d 출력 -> 이건 모르겠습니다.... 그냥 1234로 출력되나요?
만약에 예) 1234.5678 의 0.f 출력이면 -> 1234 인가요?