C_C++/C_라이브러리_함수

(C언어) evct: 부동소숫점 숫자를 문자열로 변환

고니자니 2023. 2. 3. 11:44
반응형

#evct #실수 #부동소수점 #문자열 #변환

 

 

#include <stdlib.h>
char *evct(double value, int ndig, int *dec, int *sign);

부동소수점 숫자를 문자열로 변환합니다.

evct  함수는 value 인수를 가장 좌측에는 유효숫자(0이 아닌 숫자)로 시작되는 ndig 자릿수의 NULL로 끝나는 문자열로 변환시키고, 문자열을 가리키는 포인터를 반환합니다.

문자열에서 소수점의 위치를 ndig에 저장하고, sign에는 양수는 0, 음수는 0이 아닌 숫자로 설정됩니다.

 

참고: fcvt, gcvt, sprintf

 

#include <stdio.h>
#include <stdlib.h>

int main()
{
	char* string;
	double value;
	int dec, sign;
	int ndig = 10;

	value = 1234.5678;
	string = ecvt(value, ndig, &dec, &sign);
	printf("%s %d %d \n", string, dec, sign);

	value = 0.1234;
	string = ecvt(value, ndig, &dec, &sign);
	printf("%s %d %d \n", string, dec, sign);

	value = -0.01234;
	string = ecvt(value, 15, &dec, &sign);
	printf("%s %d %d \n", string, dec, sign);

	return 0;
}

evct 함수

 

 

비주얼스튜디오에서는 evct 함수 대신에 _evct 함수를 사용합니다.

#define _CRT_SECURE_NO_WARNINGS  // Visual Studio
#include <stdio.h>
#include <stdlib.h>

int main()
{
	char* string;
	double value;
	int dec, sign;
	int ndig = 10;

	value = 1234.5678;
	string = _ecvt(value, ndig, &dec, &sign);
	printf("%s %d %d \n", string, dec, sign);

	value = 0.1234;
	string = _ecvt(value, ndig, &dec, &sign);
	printf("%s %d %d \n", string, dec, sign);

	value = -0.01234;
	string = _ecvt(value, 15, &dec, &sign);
	printf("%s %d %d \n", string, dec, sign);

	return 0;
}
반응형