In C einen String umwandeln?
Flo
- programmiertechnik
Hallo alle,
weiß jemand wie man in C eine Eingabe von z.B. 1,3 in 1.3 umwandelt?
Kennt jemand ein gute C-Referenz?
Vielen Dank!
Florian
Sup!
Du könntest das Eingabe-Format ja gleich so definieren, dass man 1,3 eingeben kann und der Rechner das als Fließkommazahl auffasst - denke ich doch mal so.
Gruesse,
Bio
Und wie kann ich denn das machen?
M.f.G.
Flo
Sup!
Leider finde ich nicht, ob und wie man scanf dazu bringen kann, Eingaben mit Komma als Zahl zu akzeptieren.
Alternativ kannst Du die Zahl als String einlesen und dann mit strtod() umwanden - wenn die locale richtig gesetzt ist, wird dann das Komma automatisch als Dezimalpunkt erkannt.
Alternativ könntest Du aber auch Vor- und Nachkommastellen mit scanf() getrennt in zwei Zahlen einlesen, dann etwas rumcasten und zu einer Fließkommazahl zusammenrechnen.
Gruesse,
Bio
Hi,
weiß jemand wie man in C eine Eingabe von z.B. 1,3 in 1.3 umwandelt?
variable[1] = '.';
Das meintest Du jetzt nicht, oder? ;-)
Da es wohl um Zahlen geht ist strtof/strtod/strtold günstig. Die typographische Ausrichtung des Dezimalpunktes ist "locale" abhängig. Siehe dazu setlocale() und localeconv() aus "locale.h".
Kennt jemand ein gute C-Referenz?
Neben dem schweineteurem Standard, der _dazu_ auch sehr wenig taugt würde ich mich an Deine LibC-Dokumentation (Die Infodatei der GnuLibC ist z.B. nicht schlecht für den Anfang) halten und ansonsten bei Google nachschauen. Wenn Du Dich auf Standard-C beschränkst könntest Du evt noch [news:comp.lang.c] bzw [news:comp.lang.c.moderated] abonnieren. Ich fand's aber wenig erquicklich.
so short
Christoph Zurnieden
Wenn Du Dich auf Standard-C beschränkst könntest Du evt noch [news:comp.lang.c] bzw [news:comp.lang.c.moderated] abonnieren. Ich fand's aber wenig erquicklich.
Kann ich gar nicht verstehen... ;-)
Kennt jemand ein gute C-Referenz?
http://www.amazon.de/exec/obidos/ASIN/3446154973
Programmieren in C von Brian W. Kernighan, Dennis M. Ritchie