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