#include
<string>
float stof (const std::string& s, size_t *pos = 0); double stod (const std::string& s, size_t *pos = 0); long double stold (const std::string& s, size_t *pos = 0);
Konvertiert Zeichenkette in Gleitkommazahl.
s | Zeichenkette |
pos | Startposition |
Rückgabewert: Zahlwert, der der Zahlzeichenkette entspricht.
Die Zahlkonvertierung bricht beim ersten nicht konvertierbaren Zeichen ab. Ist die Zahl zu groß, wird eine std::out_of_range-Ausnahme geworfen. Kann die Zeichenkette nicht konvertiert werden, werfen die Funktionen eine std::invalid_argument-Ausnahme.
#include <string> #include <iostream> int main() { std::string str = "123.45 ist gleich "; std::size_t endpos; double d = std::stod(str, &endpos); std::cout << str << d << " before \"" << str.substr(endpos) << "\" : "; // einfach: std::cout << std::stod(str) << '\n'; }