41.5 실수를 문자열로 변환하기
마찬가지로 실수를 문자열로 변환할 때도 sprintf 함수를 사용합니다(stdio.h 헤더 파일에 선언되어 있습니다).
- sprintf(문자열, "%f", 실수);
다음 내용을 소스 코드 편집 창에 입력한 뒤 실행해보세요.
real_number_to_string.c
#define _CRT_SECURE_NO_WARNINGS // sprintf 보안 경고로 인한 컴파일 에러 방지 #include <stdio.h> // sprintf 함수가 선언된 헤더 파일 int main() { char s1[10]; // 변환한 문자열을 저장할 배열 float num1 = 38.972340f; // 38.972340은 실수 sprintf(s1, "%f", num1); // %f를 지정하여 실수를 문자열로 저장 printf("%s\n", s1); // 38.972340 return 0; }
실행 결과
38.972340
sprintf함수에 서식 지정자로 %f를 지정하면 실수를 문자열로 변환할 수 있습니다. 물론 %e를 지정하여 다음과 같이 지수 표기법으로 된 문자열로 변환할 수도 있습니다.
real_number_to_exponential_notation_string.c
#define _CRT_SECURE_NO_WARNINGS // sprintf 보안 경고로 인한 컴파일 에러 방지 #include <stdio.h> // sprintf 함수가 선언된 헤더 파일 int main() { char s1[20]; // 변환한 문자열을 저장할 배열 float num1 = 38.972340f; // 38.972340은 실수 sprintf(s1, "%e", num1); // %e를 지정하여 실수를 지수 표기법으로 된 문자열로 저장 printf("%s\n", s1); // 3.897234e+01 return 0; }
실행 결과
3.897234e+01
여기서 변환한 문자열이 길어질 수 있으므로 반드시 배열의 크기(동적 메모리로 할당한 크기)를 확인합니다.