String zu double wandeln?
-
Ich weiß dass dazu recht viel im Internet steht, aber ich weiß nicht wieso das nicht wirkloch funktioniert.
Ich möchte einen String zu einem double/long umwandeln, weiß aber nicht wirklich wie.
Mit den Funktionen im Internet kommt immer was falsches raus.string s = "100.123"; double d = atoi(s.c_str()); cout << d << endl;
Mit dem code wird
100
ausgegeben.
Mache ich da irgendwas falsch?
Wie würde das mit long fuktionieren?
-
@TheDude wofür steht wohl das i in atoi?
-
Wichtiger Hinweis:
https://en.cppreference.com/w/cpp/string/basic_string/stol
Kein komisches Gefrickel mit Kompatibilität-zu-C-Funktionen (c_str
). Erweiterte Funktionalität (pos, base). Zuverlässige Fehlererkennung (spezifische Exceptions, statt 0 als Rückgabewert, der nicht von einer echten 0 unterscheidbar ist). Unterstützt locales und erweiterte Zahlenformate (z.B. hexadezimal mit "0x" am Anfang).
-
@manni66 Danke, Ich habs gelöst
-
@SeppJ Danke, hab's hingekriegt