変換を二重数値を文字列にします。Converts a double number to a string. この関数のセキュリティが強化されたバージョンについては、「_ecvt_s」をご覧ください。A more secure version of this function is available; see _ecvt_s.


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


変換される数値。Number to be converted.

格納する桁数。Number of digits stored.

格納された小数点位置。Stored decimal-point position.

変換後の数値の符号。Sign of the converted number.

戻り値Return Value

_ecvt桁の文字列へのポインターを返しますNULL場合は、エラーが発生しました。_ecvt returns a pointer to the string of digits; NULL if an error occurred.


_Ecvt関数は、浮動小数点数を文字の文字列に変換します。The _ecvt function converts a floating-point number to a character string. パラメーターは変換する浮動小数点数です。The value parameter is the floating-point number to be converted. この関数は最大格納カウントの桁を文字列として null 文字 ('\0') を追加します。This function stores up to count digits of value as a string and appends a null character ('\0'). 場合の桁数を超えるカウント下位の桁は丸められます。If the number of digits in value exceeds count, the low-order digit is rounded. も少なかった場合カウント数字、文字列が 0 で埋められます。If there are fewer than count digits, the string is padded with zeros.

によって返される総桁数 _ecvtが超えない _CVTBUFSIZEします。The total number of digits returned by _ecvt will not exceed _CVTBUFSIZE.

文字列には数字だけが格納されます。Only digits are stored in the string. 符号、小数点の位置から取得できますdecサインオン呼び出しの後にします。The position of the decimal point and the sign of value can be obtained from dec and sign after the call. Decパラメーターが指す文字列の先頭に対する小数点の位置を示す整数値。The dec parameter points to an integer value giving the position of the decimal point with respect to the beginning of the string. 0 または負の整数値は、最初の桁の左側に小数点があることを示します。A 0 or negative integer value indicates that the decimal point lies to the left of the first digit. サインオンパラメーターは変換後の数値の符号を示す整数を指します。The sign parameter points to an integer that indicates the sign of the converted number. 整数値が 0 の場合、数値は正の値です。If the integer value is 0, the number is positive. それ以外の場合、数値は負の値です。Otherwise, the number is negative.

間の差 _ecvt_fcvtの解釈には、カウントパラメーター。The difference between _ecvt and _fcvt is in the interpretation of the count parameter. _ecvt解釈カウントとして、出力文字列に数字の合計数は _fcvt解釈カウントの後の桁数として、小数点 10 進数。_ecvt interprets count as the total number of digits in the output string, whereas _fcvt interprets count as the number of digits after the decimal point.

_ecvt_fcvt変換に 1 つの静的に割り当てられたバッファーを使用します。_ecvt and _fcvt use a single statically allocated buffer for the conversion. これらのルーチンを呼び出すたびに、前の呼び出しの結果は破棄されます。Each call to one of these routines destroys the result of the previous call.

この関数は、パラメーターを検証します。This function validates its parameters. 場合decまたはサインオンNULL、またはカウントが 0 の場合で説明されているとおり、無効なパラメーター ハンドラーが呼び出されますパラメーター検証です。If dec or sign is NULL, or count is 0, the invalid parameter handler is invoked, as described in Parameter Validation. 続けるには、実行が許可された場合errnoに設定されているEINVALNULLが返されます。If execution is allowed to continue, errno is set to EINVAL and NULL is returned.


関数Function 必須ヘッダーRequired header
_ecvt_ecvt <stdlib.h><stdlib.h>

互換性の詳細については、「 互換性」を参照してください。For more compatibility information, see Compatibility.


// 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

関連項目See also

データ変換Data Conversion
浮動小数点サポートFloating-Point Support
atof、_atof_l、_wtof、_wtof_latof, _atof_l, _wtof, _wtof_l