Definition | #include <stdlib.h> char *ecvt(double wert, int anz, int *dez_pkt, int *vorzeichen);
Die Zeichenkette beginnt mit der ersten Ziffer ungleich 0 aus dem umzuwandelnden Gleitkommawert, d.h. führende Nullen werden nicht übernommen. Dezimalpunkt und ein ggf. negatives Vorzeichen sind nicht Bestandteil der Zeichenkette. |
Parameter | double wert Gleitkommawert, der für die Ausgabe aufbereitet werden soll. int anz Anzahl der Ziffern in der Ergebniszeichenkette (gerechnet ab der ersten Ziffer ungleich 0 aus dem umzuwandelnden Gleitkommawert). Ist anz kleiner als die Ziffernzahl von wert, wird die niedrigste Stelle gerundet. int *dez_pkt Zeiger auf eine ganze Zahl, die die Position des Dezimalpunktes in der Ergebniszeichenkette angibt. positive Zahl: Position relativ zum Beginn der Ergebniszeichenkette. int *vorzeichen Zeiger auf eine ganze Zahl, die das Vorzeichen der Ergebniszeichenkette angibt. 0: das Vorzeichen ist positiv |
Returnwert | Zeiger auf die umgewandelte Zeichenkette bei Erfolg. |
Hinweise | Falsche Parameter, etwa ein Beachten Sie, dass die Argumente dez_pkt und vorzeichen Zeiger sein müssen!
|
Beispiel | Folgendes Programm liest einen Gleitkommawert x ein, wandelt ihn nach der Angabe in n um und gibt ihn als Zeichenkette wieder aus. Zusätzlich werden das berechnete Vorzeichen sign und die Position des Dezimalpunktes dec_p ausgegeben. #include <stdio.h>
#include <stdlib.h>
int main(void)
{
double x;
int n, dec_p, sign;
char *s;
printf("Bitte Gleitkommazahl eingeben: \n");
if (scanf("%lf", &x) == 1)
{
printf("Wieviel signifikante Stellen : \n");
if (scanf("%d", &n) == 1)
{
s = ecvt(x, n, &dec_p, &sign);
printf("Die Zeichenkette lautet: %s\n", s);
printf("Das Vorzeichen ist %s \n",
(sign == 0 ? "positiv" : "negativ"));
printf("Position des Dezimalpunktes ist %d \n", dec_p);
}
}
return 0;
}
|
Siehe auch fcvt, gcvt