다음을 통해 공유


_ecvt

double 숫자를 문자열로 변환합니다. 이 함수의 더 안전한 버전을 사용할 수 있습니다. 를 참조하세요 _ecvt_s.

구문

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

매개 변수

value
변환할 숫자입니다.

count
저장된 자릿수입니다.

dec
저장된 소수점 위치입니다.

sign
변환된 숫자의 부호입니다.

반환 값

_ecvt 는 숫자 문자열에 대한 포인터를 반환합니다. NULL 오류가 발생한 경우

설명

_ecvt 함수는 부동 소수점 숫자를 문자열로 변환합니다. value 매개 변수는 변환할 부동 소수점 숫자입니다. 이 함수는 value 중 최대 count개의 숫자를 문자열로 저장하고 null 문자('\0')를 추가합니다. value의 숫자 개수가 count개를 초과하면 낮은 자리 숫자가 반올림됩니다. 숫자가 count개보다 적으면 문자열이 0으로 채워집니다.

반환 _ecvt 된 총 자릿수는 초과 _CVTBUFSIZE되지 않습니다.

숫자만 문자열에 저장됩니다. 소수점 위치와 value의 부호는 호출 후에 decsign에서 얻을 수 있습니다. dec 매개 변수는 문자열의 시작을 기준으로 소수점의 위치를 제공하는 정수 값을 가리킵니다. 0 또는 음의 정수 값은 소수점이 첫 번째 숫자의 왼쪽에 있다는 것을 나타냅니다. sign 매개 변수는 변환된 숫자의 부호를 나타내는 정수를 가리킵니다. 정수 값이 0이면 숫자가 양수입니다. 그렇지 않으면 숫자가 음수입니다.

_ecvt_fcvt의 차이는 count 매개 변수의 해석에 있습니다. _ecvtcount를 출력 문자열의 전체 숫자 개수로 해석하는 반면, _fcvtcount를 소수점 뒤의 자릿수로 해석합니다.

_ecvt_fcvt는 정적으로 할당된 단일 버퍼를 변환에 사용합니다. 이러한 루틴 중 하나를 호출할 때마다 이전 호출의 결과가 삭제됩니다.

이 함수는 해당 매개 변수의 유효성을 검사합니다. 매개 변수 유효성 검사에 설명된 대로 잘못된 매개 변수 처리기가 호출되거나 0이면 dec 호출됩니다.sign NULLcount 실행을 계속할 errno 수 있으면 EINVAL설정되고 NULL 반환됩니다.

기본적으로 이 함수의 전역 상태는 애플리케이션으로 범위가 지정됩니다. 이 동작을 변경하려면 CRT 전역 상태를 참조하세요.

요구 사항

함수 필수 헤더
_ecvt <stdlib.h>

호환성에 대한 자세한 내용은 호환성을 참조하세요.

예시

// crt_ecvt.c
// compile with: /W3
// This program uses _ecvt to convert a
// floating-point number to a character string.

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

int main( void )
{
   int     decimal,   sign;
   char    *buffer;
   int     precision = 10;
   double  source = 3.1415926535;

   buffer = _ecvt( source, precision, &decimal, &sign ); // C4996
   // Note: _ecvt is deprecated; consider using _ecvt_s instead
   printf( "source: %2.10f   buffer: '%s'  decimal: %d  sign: %d\n",
           source, buffer, decimal, sign );
}
source: 3.1415926535   buffer: '3141592654'  decimal: 1  sign: 0

참고 항목

데이터 변환
수학 및 부동 소수점 지원
atof, _atof_l, _wtof_wtof_l
_fcvt
_gcvt