HPlogo HP-UX Reference Volume 4 of 5 > e

ecvt(3C)

» 

Technical documentation

Complete book in PDF

 » Table of Contents

 » Index

NAME

ecvt(), fcvt(), gcvt() — convert floating-point number to string

SYNOPSIS

#include <stdlib.h>

char *ecvt(double value, int ndigit, int *decpt, int *sign);

char *fcvt(double value, int ndigit, int *decpt, int *sign);

char *gcvt(double value, int ndigit, char *buf);

Obsolescent Interfaces

int ecvt_r( double value, int ndigit, int *decpt, int *sign, char *buffer, int buflen); int fcvt_r( double value, int ndigit, int *decpt, int *sign, char *buffer, int buflen);

DESCRIPTION

ecvt()

Converts value to a null-terminated string of ndigit digits and returns a pointer to the string. The high-order digit is non-zero, unless the value is zero. The low-order digit is rounded. The position of the radix character relative to the beginning of the string is stored indirectly through decpt (negative means to the left of the returned digits). The radix character is not included in the returned string. If the sign of the result is negative, the word pointed to by sign is non-zero, otherwise it is zero.

One of three non-digit characters strings could be returned if the converted value is out of range. A -- or ++ is returned if the value is larger than the exponent can contain, and is negative, or positive, respectively. The third string is returned if the number is illegal, a zero divide for example. The result value is Not A Number (NAN) and would return a ? character.

fcvt()

Identical to ecvt(), except that the correct digit has been rounded for printf %f (FORTRAN F-format) output of the number of digits specified by ndigit.

gcvt()

Converts the value to a null-terminated string in the array pointed to by buf and returns buf. It produces ndigit significant digits in FORTRAN F-format if possible, or E-format otherwise. A minus sign, if required, and a radix character is included in the returned string. Trailing zeros are suppressed. The radix character is determined by the currently loaded NLS environment (see setlocale(3C)). If setlocale() has not been called successfully, the default NLS environment, "C", is used (see lang(5)). The default environment specifies a period (.) as the radix character.

Obsolescent Interfaces

ecvt_r() and fcvt_r() convert floating-point number to string.

APPLICATION USAGE

ecvt(), gcvt() and fcvt() are thread-safe. These interfaces are not async-cancel-safe.

EXTERNAL INFLUENCES

Locale

The LC_NUMERIC category determines the value of the radix character within the current NLS environment.

WARNINGS

The values returned by ecvt() and fcvt() point to an array whose content is overwritten by subsequent calls to these interfaces by the same thread.

ecvt_r() and fcvt_r() are obsolescent interfaces supported only for compatibility with existing DCE applications. New multi-threaded applications should use ecvt() and fcvt().

AUTHOR

ecvt() and fcvt() were developed by AT&T. gcvt() was developed by AT&T and HP.

SEE ALSO

setlocale(3C), printf(3S), hpnls(5), lang(5).

STANDARDS CONFORMANCE

ecvt(): XPG2

fcvt(): XPG2

gcvt(): XPG2

© Hewlett-Packard Development Company, L.P.