Heim > Backend-Entwicklung > C++ > Wie konvertiert man Strings in C sicher in Zahlen mit doppelter Genauigkeit?

Wie konvertiert man Strings in C sicher in Zahlen mit doppelter Genauigkeit?

Linda Hamilton
Freigeben: 2024-10-26 08:13:02
Original
848 Leute haben es durchsucht

How to Safely Convert Strings to Double Precision Numbers in C  ?

Konvertieren von Zeichenfolgen in Zahlen mit doppelter Genauigkeit in C

Bei der Arbeit mit Zeichenfolgen und numerischen Daten in C ist es häufig erforderlich, Zeichenfolgen in Gleitkommazahlen mit doppelter Genauigkeit zu konvertieren. In diesem Artikel wird eine Lösung für dieses Problem untersucht, wobei der Schwerpunkt auf der eleganten Handhabung nicht numerischer Zeichenfolgen liegt.

Die Funktion

Um die Konvertierung zu erreichen, definieren wir eine Funktion string_to_double, die eine Zeichenfolgenreferenz als annimmt Eingabe und gibt einen doppelten Wert zurück. Innerhalb dieser Funktion:

  • Ein std::istringstream-Objekt wird mit der Eingabezeichenfolge initialisiert.
  • Eine Double-Variable x wird deklariert, um das Ergebnis zu empfangen.
  • Die istringstream >> Der Operator wird verwendet, um Daten aus dem Stream in die x-Variable zu extrahieren.
  • Wenn die Extraktion aufgrund nicht numerischer Zeichen fehlschlägt, gibt die Funktion 0,0 zurück.
  • Andernfalls wird der extrahierte Double-Wert zurückgegeben .

Verwendung und Tests

Im bereitgestellten Beispielcode wird string_to_double mit verschiedenen String-Eingaben aufgerufen, um seine Funktionalität zu demonstrieren:

  • Einfache Fälle geben die zurück erwartete doppelte Werte.
  • Führende oder nachfolgende Leerzeichen werden korrekt behandelt.
  • Nicht-stellige Zeichen nach Zahlen werden ignoriert.
  • Die Einschränkung der Funktion besteht darin, dass sie nicht zwischen allen gültigen Zeichen unterscheiden kann Zeichenfolgendarstellungen von Null (z. B. „0“, „0,0“, „0,0e0“) und nicht numerischen Zeichenfolgen.

Fazit

Die Funktion string_to_double bietet eine einfache und effiziente Funktion Möglichkeit, Zeichenfolgen in Gleitkommazahlen mit doppelter Genauigkeit in C umzuwandeln. Durch die Verarbeitung nicht numerischer Zeichenfolgen wird sichergestellt, dass in diesen Fällen gemäß der Anforderung 0,0 zurückgegeben wird.

Das obige ist der detaillierte Inhalt vonWie konvertiert man Strings in C sicher in Zahlen mit doppelter Genauigkeit?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage