Veröffentlicht 22. März 200223 j 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
22. März 200223 j 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
22. März 200223 j 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
25. März 200223 j 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
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.