In C kann die Konvertierung eines Strings in ein Double mit den Funktionen std::istringstream und std::stod erreicht werden.
<code class="cpp">#include <sstream> double string_to_double(const std::string& s) { std::istringstream iss(s); double x; if (!(iss >> x)) { return 0; // Return 0 for non-numerical strings } return x; }</code>
So funktioniert diese Funktion:
Beachten Sie, dass diese Funktion nicht alle zulässigen Zeichenfolgendarstellungen von Null vollständig von nicht numerischen Zeichenfolgen unterscheiden kann. Beispielsweise werden alle folgenden Zeichenfolgen als Null betrachtet:
"0" "0." "0.0"
Hier sind einige Testfälle, um die Verwendung der Funktion string_to_double zu demonstrieren:
<code class="cpp">#include <cassert> int main() { assert(0.5 == string_to_double("0.5")); assert(0.5 == string_to_double("0.5 ")); assert(0.5 == string_to_double(" 0.5")); assert(0.5 == string_to_double("0.5a")); assert(0 == string_to_double("0")); assert(0 == string_to_double("0.")); assert(0 == string_to_double("0.0")); assert(0 == string_to_double("foobar")); return 0; }</code>
Das obige ist der detaillierte Inhalt vonSo konvertieren Sie Strings in Doubles in C: Eine einfache Anleitung mit „std::istringstream' und „std::stod'.. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!