_atodbl, _atodbl_l, _atoldbl, _atoldbl_l, _atoflt _atoflt_l
문자열이 double로 변환 (_atodbl), long double (_atoldbl), 또는 float (_atoflt).
int _atodbl(
_CRT_DOUBLE * value,
char * str
);
int _atodbl_l (
_CRT_DOUBLE * value,
char * str,
locale_t locale
);
int _atoldbl(
_LDOUBLE * value,
char * str
);
int _atoldbl_l (
_LDOUBLE * value,
char * str,
locale_t locale
);
int _atoflt(
_CRT_FLOAT * value,
char * str
);
int _atoflt_l(
_CRT_FLOAT * value,
char * str,
locale_t locale
);
매개 변수
value
실수 (double), 실수 (double), 긴 또는 문자열을 부동 소수점 값으로 변환 하 여 생성 된 값을 부동.이러한 값은 구조에 래핑되어 있습니다.str
부동 소수점 값으로 변환 합니다 구문 분석할 문자열입니다.locale
사용 하는 로캘.
반환 값
성공 하는 경우. 0 반환 합니다 가능한 오류 코드는 _UNDERFLOW 또는 _OVERFLOW, Math.h 헤더 파일에 정의 합니다.
설명
이러한 함수는 부동 소수점 값으로 문자열을 변환 합니다.이러한 기능 간의 차이점 및 atof 함수 패밀리는 다음이 함수는 부동 소수점 코드를 생성 하 고 따라서 하드웨어 예외가 발생 하지 않습니다.대신, 오류 조건 오류 코드로 보고 됩니다.
문자열을 부동 소수점 값으로 잘못 해석 되지 않은 경우 value 0 및 반환에 설정 된 값이 0입니다.
버전으로 이러한 함수는 _l 접미사는 현재 스레드의 로캘 대신 전달 된 로캘 매개 변수를 사용할 경우를 제외 하 고 동일 합니다.
요구 사항
루틴 |
필수 헤더 |
---|---|
_atodbl, _atoldbl, _atoflt _atodbl_l, _atoldbl_l, _atoflt_l |
<stdlib.h> |
예제
// crt_atodbl.c
// Uses _atodbl to convert a string to a double precision
// floating point value.
#include <stdlib.h>
#include <stdio.h>
int main()
{
char str1[256] = "3.141592654";
char abc[256] = "abc";
char oflow[256] = "1.0E+5000";
_CRT_DOUBLE dblval;
_CRT_FLOAT fltval;
int retval;
retval = _atodbl(&dblval, str1);
printf("Double value: %lf\n", dblval.x);
printf("Return value: %d\n\n", retval);
retval = _atoflt(&fltval, str1);
printf("Float value: %f\n", fltval.f);
printf("Return value: %d\n\n", retval);
// A non-floating point value: returns 0.
retval = _atoflt(&fltval, abc);
printf("Float value: %f\n", fltval.f);
printf("Return value: %d\n\n", retval);
// Overflow.
retval = _atoflt(&fltval, oflow);
printf("Float value: %f\n", fltval.f);
printf("Return value: %d\n\n", retval);
return 0;
}