굳이 이걸 스크랩 한 이유는 printf("%g", ret ) 을 쓰면서 (double ret ) %g 포맷에 대해 리뷰할 필요를 느꼈기 때문이다. 아래 표에는 안나와있지만 printf("%g",ret ) 으로 쓰면 ret = 1.0 일 경우에는 1 을 찍고, 1.25 일 경우는 1.25 만 찍는 등.... 소수점 아래 0 은 제거하고, 정수만 있을때는 %d 처럼 동작한다. %f 의 경우 나누어 떨어지는 뒷자리의 0 은 0 으로 모두 채운다. 1.0 을 1.0000000000 이라고 찍는 것이다.
type (형)
인수의 형을 지정
d |
int값을 부호있는 10진수로 출력 |
i |
d와 같음 |
u |
int값을 부호없는 10진수로 출력 |
X |
int값을 부호없는 16진수로 출력 10~15은 'A'~'F'로 표시 |
x |
int값을 부호없는 16진수로 출력 10~15은 'a'~'f'로 표시 |
o |
int값을 부호없는 8진수로 출력 |
p |
포인터값을 16진수로 출력 |
s |
문자열 출력 |
c |
int값을 문자로 출력 |
C |
c와 같음 |
f |
double값을 소수로 출력 (예:12.566371) |
e |
double값을 지수로 출력 (예:1.256637e+001) |
E |
e와 같음 'e'가 'E'로 표시 (예:1.256637E+001)。 |
g |
숫자값의 크기에 따라 f나 e로 출력 (예:12.5664、2.99792e+008)
숫자값의 절대치가 너무 커서 precision의 자리수를 넘는 경우와 숫자값의 절대값이 0.0001보다 작은 경우 e형식이 사용되어짐. 그 외의 경우는 f형식으로 사용됨 |
G |
9와 같음 'e'가 'E'로 표시 |
|