다음: 그 밖의 출력 변환, 이전: 정수 변환, 상위 문서: C 형식 입출력 함수   [차례][찾아보기]


14.2.9 떠돌이 소수점 변환

이 절은 떠돌이 소수점에 쓰는 변환 품목인 ‘%f’, ‘%e’, ‘%E’, ‘%g’, ‘%G’에 관합니다.

%f’ 변환은 지정한 정밀도에 따라 소수점 자릿수가 다른  [-]ddd.ddd 꼴인 고정 소수점 표기법으로 인수를 출력합니다.

%e’ 변환은 [-]d.ddde[+|-]dd 꼴인 지수 표기법으로 인수를 출력합니다. 소수점 자릿수는 지정한 정밀도에 따릅니다. 지수는 어제나 적어도 두자리 숫자로 구성됩니다. ‘%E’ 변환은 지수를 ‘e’가 아닌 ‘E’으로 표기한다는 점만 빼면 ‘%e’와 똑같습니다.

%g’ 및 ‘%G’ 변환은 지수가 -4 이하 또는 지수가 정밀도 이상일 때는 각각 ‘%e’ 및 ‘%E’ 방식으로 인수를 출력하고, 지수가 -4 초과 또는 지수가 정밀도 미만일 때는 ‘%f’ 방식으로 인수를 출력합니다. 소수부에서 끝에 따라 붙은 0은 지우고, 소수점 문자는 소수점 아래 숫자가 있어야 나타납니다.

아래 표지는 작동 방식을 고치는데 씁니다.

-

결과를 기록란에서 왼쪽 정렬합니다. 보통 결과는 오른쪽 정렬합니다.

+

결과에 늘 양의 부호 또는 음의 부호를 더합니다.

결과가 양의 부호 또는 음의 부호로 시작하지 않을 때 띄어쓰기 문자를 대신 넣습니다. ‘+’ 표지가 결과에 부호가 있음을 보장하기 때문에,  ‘+’와 ‘ ’를 함께 쓰면 무시합니다.

#

소수점 아래 숫자가 없더라도 결과에 언제나 소수점이 포함되도록 합니다. ‘%g’ 및 ‘%G’ 변환에서는 소수부에서 끝에 따라 붙은 0을 지우지 않고 남겨두는 기능도 있습니다.

0

띄어쓰기 대신 0으로 기록란을 채웁니다. 부호 뒤에 0을 붙입니다. ‘-’ 표지와 함께 지정하거나 또는 정밀도를 지정하면, 이 표지를 무시합니다.

정밀도는 ‘%f’, ‘%e’, ‘%E’ 변환에서 소수점 자리수를 지정합니다. 이 변환에서 기본 정밀도는 6입니다. 정밀도를 0이라고 명시하면, 소수점을 아예 쓰지 않습니다. ‘%g’ 및 ‘%G’ 변환에서의 정밀도는 출력할 유효 숫자 개수를 지정합니다. 유효 숫자는 소수점 위의 첫 번째 숫자부터 소수점 아래 마지막 숫자까지 입니다. ‘%g’ 및 ‘%G’ 변환에서 정밀도를 0으로 지정하거나 또는 지정하지 않으면, 1을 쓴 것처럼 작동합니다. 출력할 값이 지정한 정밀도 안에 꼭 들어맞지 않으면 가장 가까운 수로 반올림하여 정밀도를 맞춥니다.


다음: 그 밖의 출력 변환, 이전: 정수 변환, 상위 문서: C 형식 입출력 함수   [차례][찾아보기]