atof
원형
double atof(const char *s);
헤더파일
math.h, stdlib.h
기능
문자열을 double형 부동 소수점으로 바꾼다.
문자열은 다음과 같은 구조로 이루어져있어야 한다.
[공백TAB][부호][숫자][소수점][숫자][e]
순서를 어긴다거나(부호가 숫자 중간에 있을 경우) 불필요한 문자가 중간에 있을 경우는 변환이 중지된다.
다음의 예를 살펴보고 어떤 경우가 적법한지 살펴보아라 ㅁ는 공백을 표시한다.
"-3.6924" 올바르게 변환된다.
"ㅁㅁ-5.64e+5" 올바르게 변환된다. e는 실수를 10의 거듭제곱으로 나타낸다.
"ㅁㅁ59.14a26" 중간에 불필요한 문자가 들어갔다 59.14까지만 변환된다.
"-ㅁㅁ2.8" 부호만 변환된다 -0이 리턴된다.
overflow 발생시에는 HUGE_VAL을 리턴하며 errno를 ERANGE로 세트하며 matherr는 호출 하지 않는다. atof는 +INF, -INF를 양의 무한대와 음의 무한대수로 인식하며 +NAN과 -NAN을 Not A Number로 인식한다.
리턴값
변환된 실수를 리턴한다. 변환이 불가능할 경우는 0을 리턴한다.
참고함수
atoi -> 문자열을 정수로 변환한다.
atol -> 문자열을 long형 정수로 변환한다.
// -------------------------------------------------------------
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
double num;
char *str;
str = "3.1415";
num = atof(str);
printf("read number is %lf\n",num);
return 0;
}
원형
double atof(const char *s);
헤더파일
math.h, stdlib.h
기능
문자열을 double형 부동 소수점으로 바꾼다.
문자열은 다음과 같은 구조로 이루어져있어야 한다.
[공백TAB][부호][숫자][소수점][숫자][e]
순서를 어긴다거나(부호가 숫자 중간에 있을 경우) 불필요한 문자가 중간에 있을 경우는 변환이 중지된다.
다음의 예를 살펴보고 어떤 경우가 적법한지 살펴보아라 ㅁ는 공백을 표시한다.
"-3.6924" 올바르게 변환된다.
"ㅁㅁ-5.64e+5" 올바르게 변환된다. e는 실수를 10의 거듭제곱으로 나타낸다.
"ㅁㅁ59.14a26" 중간에 불필요한 문자가 들어갔다 59.14까지만 변환된다.
"-ㅁㅁ2.8" 부호만 변환된다 -0이 리턴된다.
overflow 발생시에는 HUGE_VAL을 리턴하며 errno를 ERANGE로 세트하며 matherr는 호출 하지 않는다. atof는 +INF, -INF를 양의 무한대와 음의 무한대수로 인식하며 +NAN과 -NAN을 Not A Number로 인식한다.
리턴값
변환된 실수를 리턴한다. 변환이 불가능할 경우는 0을 리턴한다.
참고함수
atoi -> 문자열을 정수로 변환한다.
atol -> 문자열을 long형 정수로 변환한다.
// -------------------------------------------------------------
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
double num;
char *str;
str = "3.1415";
num = atof(str);
printf("read number is %lf\n",num);
return 0;
}
'Native > C' 카테고리의 다른 글
[레퍼런스] atol() (0) | 2013.10.02 |
---|---|
[레퍼런스] atoi() (0) | 2013.10.02 |
[레퍼런스] atexit() (0) | 2013.10.02 |
[레퍼런스] assert() (0) | 2013.10.02 |
[레퍼런스] access() (0) | 2013.10.02 |