strtod, _strtod_l, wcstod, _wcstod_l

배정밀도 값으로 문자열을 변환 합니다.

double strtod(
   const char *nptr,
   char **endptr 
);
double _strtod_l(
   const char *nptr,
   char **endptr,
   _locale_t locale
);
double wcstod(
   const wchar_t *nptr,
   wchar_t **endptr 
);
double wcstod_l(
   const wchar_t *nptr,
   wchar_t **endptr,
   _locale_t locale
);

매개 변수

  • nptr
    변환 하려면 null로 끝나는 문자열입니다.

  • endptr
    검색을 중지 하는 문자에 대 한 포인터입니다.

  • locale
    사용 하는 로캘.

반환 값

strtod표현은 case 함수 반환 오버플로가 발생 할 때를 제외 하 고는 부동 소수점 숫자의 값을 반환 합니다. + /-HUGE_VAL.부호 HUGE_VAL 나타낼 수 없는 값의 부호를 찾습니다.strtod변환할 수 있습니다 또는 언더플로가 발생 하는 경우 0을 반환 합니다.

wcstodanalogously에 값을 반환 합니다 strtod.두 함수에 대 한 errno 로 설정 된 ERANGE 오버플로 또는 언더플로가 발생 하 고의 설명에 따라 잘못 된 매개 변수 처리기를 호출 하는 경우 매개 변수 유효성 검사.

참조 하십시오 _doserrno, errno, _sys_errlist, 및 _sys_nerr 이 고 다른 반환 코드에 대 한 자세한 내용은.

설명

각 함수 입력된 문자열 변환 nptr 에 있는 double.strtod 변환 기능 nptr 이중 정밀도 값입니다.strtod읽기를 중단 nptr 에서 숫자의 일부로 인식할 수 없는 첫 번째 문자입니다.이 종료 null 문자를 수 있습니다.wcstod와이드 문자 버전입니다 strtod. 해당 nptr 인수는 와이드 문자열입니다.이러한 함수는 동일 하 게 그렇지 않으면 동작합니다.

일반 텍스트 루틴 매핑

TCHAR입니다.H 루틴

_UNICODE 및 _Mbcs가 정의 되지 않았습니다.

_Mbcs가 정의

_Unicode가 정의

_tcstod

strtod

strtod

wcstod

_tcstod_l

_strtod_l

_strtod_l

_wcstod_l

LC_NUMERIC 현재 로케일의 범주 설정을 결정의 기 수 문자로 인식 nptr*;* 에 대 한 자세한 내용은 참조 하십시오. >setlocale.없이 함수는 _l 접미사 사용 하 여 현재 로케일입니다. _strtod_l동일 _strtod_l 는 대신 전달 된 로케일을 사용할 경우를 제외 하 고.자세한 내용은 로캘를 참조하십시오.

경우 endptr 수 없습니다 NULL, 포인터가 가리키는 위치에 검사를 중지 하는 문자에 대 한 포인터 저장 됩니다 endptr.변환할 수 있는 경우 (없음 올바른 숫자를 찾을 수 없습니다 또는 잘못 된 자료는 지정 된) 값을 nptr 가 가리키는 위치에 저장 된 endptr.

strtod예상 nptr 다음과 같은 형식의 문자열을 가리키도록 합니다.

[whitespace] [sign] [digits] [.digits] [ {d | D | e | E}[sign]digits]

A whitespace 는 무시 됩니다; 공백, 탭 문자 중 구성 될 수 있습니다 sign하나는 플러스 (+) 또는 빼기 (-) (–). 및 digits 하나 이상의 소수점이 하 자릿수입니다.숫자가 앞 기 수 문자를 표시 하는 경우 하나 이상의 다음 기 수 문자를 나타나야 합니다.소수 자릿수는 소개 글자만 지수가가 따를 수 있습니다 (d, D, e, 또는 E) 및 선택적으로 부호 있는 정수입니다.지 수는 일부도 아니고 기 수 문자 표시 되 면 기 수 문자 문자열에서 마지막 숫자를 가정 합니다.이 양식에 맞지 않는 첫 번째 문자 검색을 중지 합니다.

요구 사항

루틴

필수 헤더

strtod, _strtod_l

<stdlib.h>

wcstod, _wcstod_l

<stdlib.h> 또는 <wchar.h>

추가 호환성 정보를 참조 하십시오. 호환성 소개에서 합니다.

예제

// crt_strtod.c
// This program uses strtod to convert a
// string to a double-precision value; strtol to
// convert a string to long integer values; and strtoul
// to convert a string to unsigned long-integer values.
//

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

int main( void )
{
   char   *string, *stopstring;
   double x;
   long   l;
   int    base;
   unsigned long ul;

   string = "3.1415926This stopped it";
   x = strtod( string, &stopstring );
   printf( "string = %s\n", string );
   printf("   strtod = %f\n", x );
   printf("   Stopped scan at: %s\n\n", stopstring );

   string = "-10110134932This stopped it";
   l = strtol( string, &stopstring, 10 );
   printf( "string = %s\n", string );
   printf("   strtol = %ld\n", l );
   printf("   Stopped scan at: %s\n\n", stopstring );

   string = "10110134932";
   printf( "string = %s\n", string );
 
   // Convert string using base 2, 4, and 8:
   for( base = 2; base <= 8; base *= 2 )
   {
      // Convert the string:
      ul = strtoul( string, &stopstring, base );
      printf( "   strtol = %ld (base %d)\n", ul, base );
      printf( "   Stopped scan at: %s\n", stopstring );
   }
}
  

해당 .NET Framework 항목

System::Convert::ToDouble

참고 항목

참조

데이터 변환

부동 소수점 지원

멀티 바이트 문자 시퀀스로 해석

로캘

문자열을 숫자 값의 함수

strtol, wcstol, _strtol_l, _wcstol_l

strtoul, _strtoul_l, wcstoul, _wcstoul_l

atof, _atof_l, _wtof, _wtof_l

localeconv

_create_locale, _wcreate_locale

_free_locale