ECVT

Section : Manuel du programmeur Linux (3)
Mise à jour de la version anglaise : 26 juillet 2007
Index Menu principal  

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.

 

Index

NOM
SYNOPSIS
DESCRIPTION
VALEUR RENVOYÉE
CONFORMITÉ
NOTES
VOIR AUSSI
TRADUCTION

Dernière mise à jour : 17 juillet 2008