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