ecvt, fcvt - convert a floating-point number to a string
#include <stdlib.h> 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(): Since glibc 2.12: (_XOPEN_SOURCE >= 500) ! (_POSIX_C_SOURCE >= 200112L) || /* Glibc since 2.19: */ _DEFAULT_SOURCE || /* Glibc versions <= 2.19: */ _SVID_SOURCE
_SVID_SOURCE || _XOPEN_SOURCE >= 500
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 nonzero, unless
number is zero. The low order digit is rounded. The string itself does not contain a decimal 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 nonzero value, otherwise it is set to 0. If
number is zero, it is unspecified whether
*decpt is 0 or 1.
For an explanation of the terms used in this section, see attributes(7).
|ecvt()||Thread safety||MT-Unsafe race:ecvt|
|fcvt()||Thread safety||MT-Unsafe race:fcvt|
Not all locales use a point as the radix character ("decimal point").
This page is part of release 4.15 of the Linux
man-pages project. A description of the project, information about reporting bugs, and the latest version of this page, can be found at https://www.kernel.org/doc/man-pages/.