ECVT(3) | Manual del Programador de Linux | ECVT(3) |
ecvt, fcvt - convierte un número en coma flotante a una cadena de caracteres.
#include <stdlib.h>
char *ecvt(double number, int ndigits, int *decpt, int *sign);
char *fcvt(double number, int ndigits, int *decpt, int *sign);
La función ecvt() convierte number a una cadena terminada en NULL de ndigits dígitos (donde ndigits se reduce a un límite específico del sistema determinado por la precisión de un `double'), y devuelve un puntero a la cadena. El dígito de mayor orden es no cero, a menos que number sea cero. El dígito de menor orden se redondea. La cadena en si no contiene un punto decimal. Sin embargo, la posición del punto decimal relativa al comienzo de la cadena se guarda en *decpt. Un valor negativo para *decpt significa que el punto decimal está a la izquierda del comienzo de la cadena. Si el signo de number es negativo, se coloca en *sign un valor distinto de cero. Si no, se coloca un 0. Si number es cero, queda sin especificar si *decpt es 0 o 1.
La función fcvt() es idéntica a ecvt(), excepto en que ndigits especifica el número de dígitos tras el punto decimal.
Ambas funciones, ecvt() y fcvt(), devuelven un puntero a una cadena estática conteniendo la representación ASCII de number. La cadena estática se sobreescribe en cada llamada a ecvt() o a fcvt().
Estas funciones están obsoletas. En su lugar, se recomienda sprintf(). Las bibliotecas libc4 y libc5 de Linux especifican el tipo de ndigits como size_t. No todas las especializaciones regionales usan un punto como carácter radical (`punto decimal').
SysVR2, XPG2
25 junio 1999 |