ECVT(3) | Manual do Programador Linux | ECVT(3) |
ecvt, fcvt - converte um número ponto-flutuante para uma cadeia 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);
A função ecvt() converte number para uma cadeia de caracteres terminada em nulo com ndigits digitos (onde ndigits é reduzido para o limite específico do sistema determinado pela precisão do double), e retorna um ponteiro para a cadeia de caracteres. O digito de mais alta ordem é não zero, a menos que number seja zero. O digito de mais baixa ordem é arredondado. A cadeia de caracteres em si não contém o ponto decimal; entretanto, a posição do ponto decimal relativo ao início da cadeia de caracteres é armazenada em *decpt. Um valor negativo para *decpt significa que o ponto decimal está a esquerda do início da cadeia de caracteres. Se o sinal de number é negativo, *sign recebe um valor não zero, caso contrário recebe 0. Se number é zero, não especifica se *decpt é 0 ou 1.
A função fcvt() é identica a ecvt(), exceto que ndigits especifica o número de digitos após o ponto decimal.
Ambas as funções ecvt() e fcvt() retornam um ponteiro para uma cadeia de caracteres estática contendo a representação ASCII de number. A cadeia de caracteres estática é sobrescrita a cada chamada a ecvt() ou fcvt().
Essas funções são obsoletas. Em seu lugar, sprintf() é recomendada. As bibliotecas Linux libc4 e libc5 especificam o tipo de ndigits como size_t. Nem todas as localidade usam o ponto como caracter separador (`ponto decimal').
SysVR2, XPG2
Marcelo D. Beckmann <marcelobeckmann@yahoo.com> (tradução) Espaço para o Revisor <nome@dominio.com.br> (revisão)
25 Junho 1999 |