_ecvt
double の文字列に数値を変換します。この関数のセキュリティが強化されたバージョンについては、「_ecvt_s」を参照してください。
char *_ecvt(
double value,
int count,
int *dec,
int *sign
);
パラメーター
value
変換される数値。count
保存された桁数。dec
保存された小数点位置。sign
変換された数値のサイン。
戻り値
_ecvt は数字の文字列へのポインターを返します。; エラーが発生した無効にします。
解説
_ecvt の関数は文字列に浮動小数点数に変換します。value のパラメーターは変換する浮動小数点数です。この関数は文字列として countvalue までの数値を格納しnull 文字 (「 \ 0 ") を追加します。value の桁数が count を超える場合下位桁は切り捨てられます。count の数値よりも少ない場合文字列はゼロで埋められます。
_ecvt によって返される数値は _CVTBUFSIZE の合計数を超えるされません。
数値を文字列に格納されます。value の小数点値と符号の位置は呼び出しの後で dec と sign から取得できます。文字列の先頭に対して小数点の位置を指定する整数値への dec のパラメーターのポインター。0 または負の整数値は整数部の桁目の左側にあることを示します。変換された数値の符号を表す整数への sign のパラメーターのポインター。整数値が 0 の場合は正の数です。それ以外の場合は数値が負になります。
_ecvt_fcvt との違いは count のパラメーターの解釈にあります。_ecvt は出力文字列の値の合計数として _fcvt の後に小数点以下の桁数として count を解釈する場合は count を解釈します。
_ecvt と _fcvt は変換の単一の静的に割り当てたバッファーを使用します。これらのルーチンを呼び出すたびに、前の呼び出しの結果は破棄されます。
この関数は、パラメーターを検証します。decsign またはが null であるかまたは count が 0 の場合無効なパラメーター ハンドラーが パラメーターの検証 に説明されているように開始されます。実行の継続が許可 errno は EINVAL に設定されNULL が返されます。
必要条件
Function |
必須ヘッダー |
---|---|
_ecvt |
<stdlib.h> |
互換性の詳細については、「C ランタイム ライブラリ」の「互換性」を参照してください。
使用例
// 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 );
}