Strings konvertieren



  • Hallo.

    Wie kann ich in C++ einen String in eine numerische Variable (Double) konvertieren? Ich habe einen normalen String (aus der string.h), der Zahlen enthält und ich würde ihn gern in eine numerische Variable konvertieren, um dann mit diesen Zahlen zu rechnen.

    Freundliche Grüße,
    Infostudent.



  • Erstens: Das hat wohl recht wenig mit C++/CLI zu tun 😉

    Zweitens: In der C++ FAQ haben wir einen recht ausführlichen Beitrag "Einmal String nach Zahl und zurück" - den einmal durchlesen und bei weiteren Problemen zurückkommen.



  • hi!

    bei der Gelegenheit würde ich gerne fragen was ein System::IFormatProvider ist.

    Folgender code funkt ganz gut, ich hab aber keinen schimmer was die Null in der Klammer bewirkt und was man da sonst noch einfügen kann:

    String * S_Zahl = S"50";
    double D_Zahl = S_Zahl->ToDouble(0);
    


  • Die "0" bewirkt nichts, da Du damit keinen Format-Provider angibst...

    Der FormatProvider gibt an wie die Zahl in einen String umgewandelt werden soll.
    So gibt es z.B. die "System::Globalization::CultureInfo::InvariantCulture", welche eine FormatProvider für Datenaustausch hat (also Komma ist "." usw.).

    Wenn Du nichts angibst, so wird immer der FormatProvider der aktuell eingestellten Sprache gewählt (also z.B. bei de-de Komma = ","; en-us: Komma='.'; usw.).



  • Ah, vielen Dank!


Anmelden zum Antworten