Hubi333 Geschrieben 22. März 2002 Geschrieben 22. März 2002 Moin Leute Wie kann ich char[255] in double werte umwandeln?? char[255] enthält nur Zahlen und als trennzeichen zum bereich <0 einen Punkt. MfG Hubi Zitieren
Woodstock Geschrieben 22. März 2002 Geschrieben 22. März 2002 Also, wenn Du in der einen Character Variablen mehrere Zahlen hast, die alle in Double Werte umgewandelt werden sollen, musst Du den STring zuerst zerlegen. Das kannst Du mit char *strtok( char *strToken, const char *strDelimit ); Example /* STRTOK.C: In this program, a loop uses strtok * to print all the tokens (separated by commas * or blanks) in the string named "string". */ #include <string.h> #include <stdio.h> char string[] = "A string\tof ,,tokens\nand some more tokens"; char seps[] = " ,\t\n"; char *token; void main( void ) { printf( "%s\n\nTokens:\n", string ); /* Establish string and get the first token: */ token = strtok( string, seps ); while( token != NULL ) { /* While there are tokens in "string" */ printf( " %s\n", token ); /* Get next token: */ token = strtok( NULL, seps ); } }[/PHP]tun. Zum umwendeln des Characters in einen Doubel Wert nimmst Du dann[PHP]double atof( const char *string ); Bine Zitieren
DocMabuse Geschrieben 22. März 2002 Geschrieben 22. März 2002 Hi, zum Umwandeln von Zeichenketten in double, bzw. float-Werte kannst Du die Funktion "atof" aus der <math.h> nehmen. Allerdings dürfte dabei einiges an Präzision verloren gehen. Vielleicht verstehe ich aber auch nicht wirklich, was Du eigentlich machen willst. In einem char-Array mit 255 Stellen könntest Du riesige "Zahlen" speichern (eben mit 254 Stellen + binäre Null ). Brauchst Du das wirklich? Und was meinst Du mit "Punkt als Trennzeichen zum Bereich <0"? Das wird doch meines Erachtens mit einem Minus am Anfang gesetzt... :confused: Oder meinst Du die Nachkommastellen? DocMabuse Zitieren
Hubi333 Geschrieben 22. März 2002 Autor Geschrieben 22. März 2002 Danke Danke es läuft jetzt. Schönen Tag und schönes WE noch. Zitieren
Woodstock Geschrieben 22. März 2002 Geschrieben 22. März 2002 Wie hast Du es denn nun gemacht? Bine Zitieren
Hubi333 Geschrieben 25. März 2002 Autor Geschrieben 25. März 2002 Ich habe es so gemacht wie du es mir vorgeschlagen hast. Mit: double atof (const char *string); und das klappt wunderbar, danke nochmal MfG Hubi Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.