Provided by: manpages-ja-dev_0.5.0.0.20140515+dfsg-2_all bug

名前

       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 文字の文字列へ変換し、その文字列への
       ポインタを返す (ndigitsdouble の精度によって決定されるシステム依存の上限値より大きい場
       合は、  その条件値が 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) がより適切かもしれない)。

注意

       Linux libc4 と libc5 では ndigits の型は size_t となっていた。  小数点にピリオドを使わない
       ロケールもある。

関連項目

       ecvt_r(3), gcvt(3), qecvt(3), setlocale(3), sprintf(3)

この文書について

       この  man ページは Linux man-pages プロジェクトのリリース 3.65 の一部 である。プロジェクト
       の説明とバグ報告に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。

                                            2013-07-04                                    ECVT(3)