ecvt(3C) ecvt(3C)
NAME
ecvt, fcvt, gcvt - Gleitkommazahl in Zeichenkette umwandeln
SYNTAX
#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);
BESCHREIBUNG
Die Funktionen ecvt(), fcvt() und gcvt() wandeln Gleitkommazahlen in
Zeichenketten mit Endenull um.
ecvt() wandelt value in eine Zeichenkette mit Endenull und ndigit Zif-
fern um (wobei ndigit auf eine nicht angegebene, durch die Genauigkeit
des Typs double festgelegte Grenze herabgesetzt wird) und gibt einen
Zeiger auf die Zeichenkette zurück. Die hochwertigste Ziffer ist
ungleich Null, sofern der Wert nicht Null ist. Die niederwertigste
Ziffer wird gerundet. Die Position des Radixzeichens relativ zum
Anfang der Zeichenkette ist in der Ganzzahl gespeichert, auf die decpt
zeigt (negativ bedeutet rechts von den zurückgegebenen Ziffern). Das
Radixzeichen ist in der zurückgegebenen Zeichenkette nicht enthalten.
Wenn das Vorzeichen des Ergebnisses negativ ist, ist die Ganzzahl, auf
die sign zeigt, ungleich Null, andernfalls ist sie 0.
Wenn der umgewandelte Wert außerhalb des zulässigen Bereichs liegt
oder nicht darstellbar ist, ist der Inhalt der zurückgegebenen Zei-
chenketten undefiniert.
fcvt() entspricht der Funktion ecvt() mit der Ausnahme, daß ndigit die
Anzahl der Ziffern angibt, die nach dem Radixzeichen gewünscht werden.
Die Gesamtanzahl der Ziffern in der Ergebniszeichenkette ist auf eine
nicht angegebene Grenze beschränkt, die durch die Genauigkeit des Typs
double bestimmt wird.
gcvt() wandelt value in eine Zeichenkette mit Endenull (ähnlich der
des %g-Formats von printf()) in dem Array um, auf das buf zeigt, und
gibt buf zurück. Nach Möglichkeit werden ndigit signifikante Ziffern
(begrenzt auf einen nicht angegebenen Wert, der durch die Genauigkeit
des Typs double bestimmt wird) im %f-Format erstellt; andernfalls wird
das %e-Format (wissenschaftliche Notation) erstellt. Wenn value klei-
ner als 0 ist, ist in der zurückgegebenen Zeichenkette ein Minuszei-
chen enthalten. Wenn value keine ganze Zahl ist, enthält die zurückge-
gebene Zeichenkette ein Radixzeichen und nachstehende Nullen werden
unterdrückt. Das Radixzeichen wird durch die jeweilige internationale
Umgebung festgelegt. Wenn setlocale() nicht erfolgreich aufgerufen
wurde, wird die standardmäßige internationale Umgebung "POSIX" verwen-
det. Diese gibt einen Punkt (.) als Radixzeichen an. Die Kategorie
LCNUMERIC legt den Wert des Radixzeichens innerhalb der jeweiligen
Seite 1 Reliant UNIX 5.44 Gedruckt 11/98
ecvt(3C) ecvt(3C)
internationalen Umgebung fest.
RÜCKGABEWERT
Die Funktionen ecvt() und fcvt() geben einen Zeiger auf eine Ziffern-
kette mit Endenull zurück.
Die Funktion gcvt() gibt buf zurück.
HINWEISE
Die von ecvt() und fcvt() zurückgegebenen Werte zeigen auf dasselbe
statische Datenfeld, dessen Inhalt bei jedem Aufruf überschrieben
wird.
SIEHE AUCH
setlocale(3C), printf(3S), stdlib(5).
Seite 2 Reliant UNIX 5.44 Gedruckt 11/98