Programing - C/C Basic grammar

083 _fcvt_s, _ecvt_s, _gcvt_s 실수를 문자열 형태로

junmoyo 2017. 7. 28. 13:06
개념 : 

1. stdlib.h에 포함 되어있다.

2. 실수를 문자열 형태로 저장해준다.

3.parameter 
_fcvt_s 와 _ecvt_s는 점을 포함하지 않고 숫자만으로 문자열을 구성한다.( float f, double e)
_gcvt_s는 기호와 소숫점가지 표현하여 문자열로 저장한다.

용도에 맞게 사용하자.



소스코드 : main.c
#include <stdio.h>
#include <stdlib.h>

int main(void)
{
//문자를 실수로 변환해보자
double PI = 3.14159265359;

char szBuffer1[256] = { 0, };
char szBuffer2[256] = { 0, };
char szBuffer3[256] = { 0, };

char *pBreak = NULL;
int Dec = 0, Sign = 0, Count = 5;

_fcvt_s(szBuffer1, sizeof(szBuffer1), PI, Count, &Dec, &Sign); // Count 정수형태로 저장될때 표현될 범위를 말한다. 그러니깐 15자리이고 표현할수 없는 부분은 0으로 표시해준다.
printf(" PI : %E \n", PI);//Sign은 부호, 0 +, 1 - 기호를 의미한다.
printf("_fcvt_s 사용: %s \n dec : %d\n sign : %d\n", szBuffer1, Dec, Sign);// Dec은 소수점의 위치를 의미한다. 1 은 왼쪽에서 오른쪽으로 1 가서 점을찍는다. 

Count = 15;

_ecvt_s(szBuffer2, sizeof(szBuffer2), PI, Count, &Dec, &Sign); // Count 정수형태로 저장될때 표현될 범위를 말한다. 그러니깐 15자리이고 표현할수 없는 부분은 0으로 표시해준다.
printf(" PI : %E \n", PI);//Sign은 부호, 0 +, 1 - 기호를 의미한다.
printf("_ecvt_s 사용: %s \n dec : %d\n sign : %d\n", szBuffer2, Dec, Sign);// Dec은 소수점의 위치를 의미한다. 1 은 왼쪽에서 오른쪽으로 1 가서 점을찍는다. 

_gcvt_s(szBuffer3, sizeof(szBuffer3), PI, Count);

printf(" PI : %E \n", PI);//Sign은 부호, 0 +, 1 - 기호를 의미한다.
printf("_gcvt_s 사용: %s \n Count : %d\n", szBuffer3, Count);// Dec은 소수점의 위치를 의미한다. 1 은 왼쪽에서 오른쪽으로 1 가서 점을찍는다. 
return 0;

}


결과



#c언어, #c언어입문, #프로그램입문, #_fcvt_s, #_ecvt_s, #_gcvt_s, #실수를문자열로