카테고리 없음

[C언어] 실수를 문자로 - fcvt()

s뽈록이s 2013. 6. 21. 16:04
void main(void)
{
	double num;
	char *str;
	int count, sign;
	printf("실수를 입력해 주세요 : "); 
	scanf("%lf", &num);

	str = fcvt(num, 4, &count, &sign);
	printf("변환된 실수 = %s\n", str);
	printf("소수점의 위치 = %d, 부호 = %d\n", count, sign);
}

프로그램 실행화면


char *fcvt(double value, int count, int *dec, int *sign);


실수를 문자 또는 문자열로 변환시켜 주는 함수이다. 첫 번째 인자는 변환할 실수를 넘겨주는 것이며 문자열로 변환되어 그 주소값이 반환값으로 돌아온다.


두 번째 인자는 실수를 문자열로 변환시키되 소수 몇번째 자리까지 변환시킬 것인지 정하는 인자이다. 프로그램과 실행화면을 보면 알겠지만 소수 4번째 자리까지 변환한다고 정했기 때문에 0.123456이 0.1235로 되는 것을 볼 수 있다.


0.000056이 짤려서 반올림되었기 때문에 0.0001이 더해졌다. 세번째 인자는 소수점의 위치, 4번째 인자는 실수의 부호가 저장된다.


양수이면 0, 실수이면 1이 저장된다. ecvt()함수와 같은 메모리 번지를 사용하기 때문에 연속적으로 호출하지 않도록 해야한다.