1. 예제2번 강의에서 마지막줄에 System.out.printf("%4d, %4.2f", hap, avg); 에서
%4.2f에서 총 자릿수는 4자리이고 그중 소수점아래 자리가 2자리 인데 만약에 65.83가 나왔다고 가정하면
원래 총자리수는 0.00 인데 소수점 위에 부분에서 자리가 모자르면 강제로 늘린다고 하셨는데
그러면 %4.2f 이렇게 자릿수를 지정해주는 의미가 없지 않나요?
2. 그리고 만약에 강제로 늘리는 것이 된다면 C언어에서도 가능하고 자바에서도 가능한 사항인가요?
안녕하세요. 길벗 수험서 운영팀입니다.
1. 예제2번 강의에서 마지막줄에 System.out.printf("%4d, %4.2f", hap, avg); 에서 %4.2f에서 총 자릿수는 4자리이고 그중 소수점아래 자리가 2자리 인데 만약에 65.83가 나왔다고 가정하면 원래 총자리수는 0.00 인데 소수점 위에 부분에서 자리가 모자르면 강제로 늘린다고 하셨는데 그러면 %4.2f 이렇게 자릿수를 지정해주는 의미가 없지 않나요?
[답변]
네, 맞습니다.
의미가 없는 출력형식입니다. 정확히 의미 없는 부분은 %4.2f 중 ‘4’부분입니다. 글자 수가 넘기 때문에 의미 없는 부분이죠. 하지만 ‘.2’부분은 소수점을 2자리로 제한한다는 부분으로 필요합니다. 필요한 서식문자로만 작성한다면 ‘%.2f’가 되겠습니다.
2. 그리고 만약에 강제로 늘리는 것이 된다면 C언어에서도 가능하고 자바에서도 가능한 사항인가요?
[답변]
예, 맞습니다.
C의 ‘printf’, Java의 ‘System.out.printf’는 동일한 서식문자를 사용합니다.
행복한 하루되세요.^^
-
*2018-09-11 15:45:14
안녕하세요. 길벗 수험서 운영팀입니다.
1. 예제2번 강의에서 마지막줄에 System.out.printf("%4d, %4.2f", hap, avg); 에서 %4.2f에서 총 자릿수는 4자리이고 그중 소수점아래 자리가 2자리 인데 만약에 65.83가 나왔다고 가정하면 원래 총자리수는 0.00 인데 소수점 위에 부분에서 자리가 모자르면 강제로 늘린다고 하셨는데 그러면 %4.2f 이렇게 자릿수를 지정해주는 의미가 없지 않나요?
[답변]
네, 맞습니다.
의미가 없는 출력형식입니다. 정확히 의미 없는 부분은 %4.2f 중 ‘4’부분입니다. 글자 수가 넘기 때문에 의미 없는 부분이죠. 하지만 ‘.2’부분은 소수점을 2자리로 제한한다는 부분으로 필요합니다. 필요한 서식문자로만 작성한다면 ‘%.2f’가 되겠습니다.
2. 그리고 만약에 강제로 늘리는 것이 된다면 C언어에서도 가능하고 자바에서도 가능한 사항인가요?
[답변]
예, 맞습니다.
C의 ‘printf’, Java의 ‘System.out.printf’는 동일한 서식문자를 사용합니다.
행복한 하루되세요.^^