책 내용 질문하기
java 함수 질문입니다.
도서
2019 시나공 정보처리기사 실기(산업기사포함)
페이지
105
조회수
164
작성일
2019-06-07
작성자
탈퇴*원
첨부파일

105p 예제2에서 마지막에 %4.2f인데 왜 답이 68.57로 나오는지 모르겠습니다.

c언어 설명대로라면 %5.2f가 되어야 하는 거 아닌가요?

답변
2019-06-07 13:26:15

안녕하세요 길벗수험서 운영팀입니다.

 

출력문에서 서식지정자의 자리수가 출력하려는 값보다 큰 경우 앞의 공간을 확보하여 공백을 띄우지만,

출력하려는 값이 서식지정자의 자리수보다 큰 경우 자리수를 무시하고 모든 값을 출력합니다.

 

예를 들어,

printf("%3d", 123456); 을 출력한다고 하면 화면에는, "123456"이 모두 출력됩니다.

printf("%2.1f", 1234.56789); 를 출력한다고 하면 "1234.6"이 출력되죠.

 

.1f 나 .2f와 같이 소수점을 제한하는 서식지정자의 경우 소수점 자리수에 관계없이 무조건 적용되나, 앞의 자리수를 지정하는 %3d, %4f와 같은 경우 표현하려는 값의 자리수가 더 작은 경우만 적용됩니다.

 

행복한 하루되세요 :)

  • 관리자
    2019-06-07 13:26:15

    안녕하세요 길벗수험서 운영팀입니다.

     

    출력문에서 서식지정자의 자리수가 출력하려는 값보다 큰 경우 앞의 공간을 확보하여 공백을 띄우지만,

    출력하려는 값이 서식지정자의 자리수보다 큰 경우 자리수를 무시하고 모든 값을 출력합니다.

     

    예를 들어,

    printf("%3d", 123456); 을 출력한다고 하면 화면에는, "123456"이 모두 출력됩니다.

    printf("%2.1f", 1234.56789); 를 출력한다고 하면 "1234.6"이 출력되죠.

     

    .1f 나 .2f와 같이 소수점을 제한하는 서식지정자의 경우 소수점 자리수에 관계없이 무조건 적용되나, 앞의 자리수를 지정하는 %3d, %4f와 같은 경우 표현하려는 값의 자리수가 더 작은 경우만 적용됩니다.

     

    행복한 하루되세요 :)

· 5MB 이하의 zip, 문서, 이미지 파일만 가능합니다.
· 폭언, 욕설, 비방 등은 관리자에 의해 경고없이 삭제됩니다.