ECVT(3)

NOM
ecvt, fcvt - Convertir des nombres réels en chaînes de caractères

SYNOPSIS
#include <stdlib.h>

char *ecvt(double number, int ndigits, int *decpt, int *sign);

char *fcvt(double number, int ndigits, int *decpt, int *sign);

Exigences de macros de test de fonctionnalités pour la glibc (voir feature_test_macros(7)) :

ecvt(), fcvt() : _SVID_SOURCE || _XOPEN_SOURCE >= 500

DESCRIPTION
La fonction ecvt() convertit number en une chaîne de caractères de ndigits chiffres (ndigits étant limité par une valeur spécifique au système, déterminée par la précision d'un double), terminée par un octet nul. La fonction renvoie un pointeur sur cette chaîne. Le chiffre d'ordre le plus élevé est non nul, sauf si number vaut zéro. Le chiffre d'ordre le plus faible est arrondi. La chaîne elle-même ne contient pas de point décimal, néanmoins la position du point décimal relativement au début de la chaîne est stockée dans *decpt. Une valeur négative de *decpt signifie que le point décimal est à gauche du début de la chaîne. Si le signe de number est négatif, *sign est rempli avec une valeur non nulle, sinon il est mis à 0. Si number est nul, il n'est pas précisé si *decpt vaut zéro ou un.

La fonction fcvt() est identique à ecvt(), à la différence que ndigits indique le nombre de décimales après la virgule.

VALEUR RENVOYÉE
Les deux fonctions ecvt() et fcvt() renvoient un pointeur sur une chaîne de caractères statique contenant la représentation ASCII de number. La chaîne statique est écrasée à chaque appel de ecvt() ou fcvt().

CONFORMITÉ
SVr2 ; marquée comme historique dans POSIX.1-2001.

NOTES
Ces fonctions sont obsolètes. On recommande plutôt sprintf(3) à leur place. Les bibliothèques Linux libc4 et libc5 déclaraient le type de ndigits en size_t. Certaines localisations (la nôtre par exemple) n'utilisent pas le point comme séparateur décimal.

VOIR AUSSI
ecvt_r(3), gcvt(3), qecvt(3), setlocale(3), sprintf(3)

TRADUCTION

Ce document est une traduction réalisée par Christophe Blaess <http://www.blaess.fr/christophe/> le 23 octobre 1996 et révisée le 17 juillet 2008.

L'équipe de traduction a fait le maximum pour réaliser une adaptation française de qualité. La version anglaise la plus à jour de ce document est toujours consultable via la commande : « LANG=C man 3 ecvt ». N'hésitez pas à signaler à l'auteur ou au traducteur, selon le cas, toute erreur dans cette page de manuel.