c·c++/c 프로그래밍

C 언어 에서 %e와 %g에 대해서

바로이순간 2012. 1. 21. 20:23


#include<stdio.h>
int main(void) {

  printf(" %%e and %%E\n");
  printf("%e \n", 0.0001239535943); //소수점 이하 0아닌 숫자 7개만살림 (8번째에서 반올림)
  printf("%E \n", 0.0001239535943); //소수점 이하 0아닌 숫자 7개만살림 (8번째에서 반올림)

  printf(" %%15.9e and %%E15.9\n");
  printf("%15.9e \n", 0.0001239535943); //소수점 이하 0아닌 숫자 7개만살림 (8번째에서 반올림)
  printf("%15.9E \n", 0.0001239535943); //소수점 이하 0아닌 숫자 7개만살림 (8번째에서 반올림)

  printf(" %%g and %%G\n");
  printf("%g \n", 0.0001239535943); //소수점 이하 0아닌 숫자 7개만살림 (8번째에서 반올림)
  printf("%G \n", 0.0001239535943); //소수점 이하 0아닌 숫자 7개만살림 (8번째에서 반올림)

  printf(" %%e and %%E\n");
  printf("%e \n", 0.000000001239535943); //소수점 이하 0아닌 숫자 7개만살림 (8번째에서 반올림)
  printf("%E \n", 0.000000001239535943); //소수점 이하 0아닌 숫자 7개만살림 (8번째에서 반올림)

  printf(" %%g and %%G\n");
  printf("%g \n", 0.000000001239535943); //소수점 이하 0아닌 숫자 7개만살림 (8번째에서 반올림)
  printf("%G \n", 0.000000001239535943); //소수점 이하 0아닌 숫자 7개만살림 (8번째에서 반올림)

  return 0;
}


%g는 %f와 %e 중에서 짧게 표현할 수 있는 형태로 자동으로 출력을 해주는 방식입니다.
일반적으로 유효숫자만 출력을 하게 되고, 지수가 -4미만인 경우 e형태로 출력이 됩니다.

%g 는 뒤에 나오는 연속된 0도 없애 줍니다.