Provided by: manpages-ja-dev_0.5.0.0.20210215+dfsg-1_all
名前
ecvt, fcvt - 浮動小数点数の文字列への変換
書式
#include <stdlib.h> char *ecvt(double number, int ndigits, int *decpt, int *sign); char *fcvt(double number, int ndigits, int *decpt, int *sign); glibc 向けの機能検査マクロの要件 (feature_test_macros(7) 参照): ecvt(), fcvt(): glibc 2.12 以降: _SVID_SOURCE || (_XOPEN_SOURCE >= 500 || _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED) && !(_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600) glibc 2.12 より前: _SVID_SOURCE || _XOPEN_SOURCE >= 500 || _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED
説明
関数 ecvt() は number をヌル文字で終端された ndigits 文字の文字列へ変換し、その文字列への ポインターを返す (ndigits が double の精度によって決定されるシステム依存の上限値より大きい 場合は、 その条件値が ndigits の値となる)。 number が 0 でなければ、最上位の桁は 0 以外で ある。 最下位の桁は丸められる。 文字列には小数点は含まれない。そのかわりに、文字列の先頭か らの小数点の 位置が *decpt に保持される。 *decpt が負の値の場合、小数点が文字列の先頭の左 側にあることを意味する。 もし(numberの)符号が負ならば *sign は 0 以外の値に、 そうでなけれ ば 0 に設定される。 number が 0 なら、*decpt が 0 か 1 かは未規定である。 関数 fcvt() は ecvt() と同じ機能を持つが、ndigits は小数点以下の文字数を指定する。
返り値
関数 ecvt() と fcvt() は number の ASCII 表現を含む 静的な領域内の文字列へのポインターを 返す。 この文字列は ecvt() や fcvt() の呼び出しのたびに上書きされる。
属性
マルチスレッディング (pthreads(7) 参照) 関数 ecvt() と fcvt() はスレッドセーフではない。
準拠
SVr2。 POSIX.1-2001 では「過去の名残 (LEGACY)」と位置付けられている。 POSIX.1-2008 では ecvt() と fcvt() の仕様が削除され、代わりに sprintf(3) の使用が推奨されている(しかし snprintf(3) がより適切かもしれない)。
注意
小数点にピリオドを使わないロケールもある。
関連項目
ecvt_r(3), gcvt(3), qecvt(3), setlocale(3), sprintf(3)
この文書について
この man ページは Linux man-pages プロジェクトのリリース 3.79 の一部 である。プロジェクト の説明とバグ報告に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。 2014-08-19 ECVT(3)