ecvtのヘルプ・マニュアル
日本語 英語
ecvt --help
man ecvt
ECVT(3) Linux Programmer’s Manual ECVT(3)
名前
ecvt, fcvt - 浮動小数点数の文字列への変換
書式
#include
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(): _SVID_SOURCE || _XOPEN_SOURCE >= 500
説明
関 数 ecvt() は number を NUL 文字で終端された 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() の呼び出しのたびに上
書きされる。
準拠
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)
2009-03-15 ECVT(3)
ECVT(3) Linux Programmer’s Manual ECVT(3)
NAME
ecvt, fcvt - convert a floating-point number to a string
SYNOPSIS
#include
char *ecvt(double number, int ndigits, int *decpt, int *sign);
char *fcvt(double number, int ndigits, int *decpt, int *sign);
Feature Test Macro Requirements for glibc (see feature_test_macros(7)):
ecvt(), fcvt(): _SVID_SOURCE || _XOPEN_SOURCE >= 500
DESCRIPTION
The ecvt() function converts number to a null-terminated string of
ndigits digits (where ndigits is reduced to a system-specific limit
determined by the precision of a double), and returns a pointer to the
string. The high-order digit is non-zero, unless number is zero. The
low order digit is rounded. The string itself does not contain a deci-
mal point; however, the position of the decimal point relative to the
start of the string is stored in *decpt. A negative value for *decpt
means that the decimal point is to the left of the start of the string.
If the sign of number is negative, *sign is set to a non-zero value,
otherwise it is set to 0. If number is zero, it is unspecified whether
*decpt is 0 or 1.
The fcvt() function is identical to ecvt(), except that ndigits speci-
fies the number of digits after the decimal point.
RETURN VALUE
Both the ecvt() and fcvt() functions return a pointer to a static
string containing the ASCII representation of number. The static
string is overwritten by each call to ecvt() or fcvt().
CONFORMING TO
SVr2; marked as LEGACY in POSIX.1-2001. POSIX.1-2008 removes the spec-
ifications of ecvt() and fcvt(), recommending the use of sprintf(3)
instead (though snprintf(3) may be preferable).
NOTES
Linux libc4 and libc5 specified the type of ndigits as size_t. Not all
locales use a point as the radix character ("decimal point").
SEE ALSO
ecvt_r(3), gcvt(3), qecvt(3), setlocale(3), sprintf(3)
COLOPHON
This page is part of release 3.22 of the Linux man-pages project. A
description of the project, and information about reporting bugs, can
be found at http://www.kernel.org/doc/man-pages/.
2009-03-15 ECVT(3)