„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie konvertiert man in C++ Floats präzise in Strings mit einer bestimmten Dezimalgenauigkeit?

Wie konvertiert man in C++ Floats präzise in Strings mit einer bestimmten Dezimalgenauigkeit?

Veröffentlicht am 18.11.2024
Durchsuche:900

How Do You Precisely Convert Floats to Strings with Specified Decimal Precision in C  ?

Präzise Konvertierung von Gleitkommazahlen in Zeichenfolgen mit angegebener Dezimalgenauigkeit

Konvertieren Sie in C eine Gleitkommazahl in eine Zeichenfolge mit bestimmter Genauigkeit und Dezimalstellen erfordern sorgfältige Überlegung. In diesem Leitfaden werden zwei gängige Lösungen untersucht: stringstream und die Funktion to_chars aus C 17.

Stringstream verwenden

Stringstream ist ein vielseitiges Tool zum Bearbeiten von Strings in C. Um einen Float mit einer bestimmten Genauigkeit in einen String umzuwandeln, können Stream-Manipulatoren angewendet werden:

#include 
#include 

double pi = 3.14159265359;
std::stringstream stream;
stream 
  • std::fixed stellt sicher, dass die Zahl in Festkommaschreibweise dargestellt wird, mit einem Dezimalpunkt und einer angegebenen Anzahl von Ziffern.
  • std::setprecision(2) steuert die Anzahl der anzuzeigenden Dezimalstellen.

Verwenden der to_chars-Funktion (C 17 und höher)

Für Für technischere Zwecke wie das Schreiben von Daten in XML oder JSON bietet die in C 17 eingeführte Funktion to_chars eine prägnante Lösung:

#include 
#include 

double pi = 3.14159265359;
std::array buffer;
auto [ptr, ec] = std::to_chars(buffer.data(), buffer.data()   buffer.size(), pi,
                               std::chars_format::fixed, 2);
if (ec == std::errc{}) {
    std::string s(buffer.data(), ptr);
}
else {
    // Error handling
}
  • Die Funktion std::to_chars benötigt einen Puffer (in std::array-Form), eine Zahl und eine Formatspezifikation (in diesem Fall std::chars_format::fixed mit 2 Dezimalstellen). Stellen).
  • Wenn die Konvertierung erfolgreich ist, wird die resultierende Zeichenfolge aus dem Puffer erstellt.

Mit diesen Techniken können Sie Gleitkommazahlen in C mit präziser Kontrolle in Zeichenfolgen konvertieren die Anzahl der Dezimalstellen, um sicherzustellen, dass Ihre Daten genau und Ihren Anforderungen entsprechend dargestellt werden.

Freigabeerklärung Dieser Artikel wird unter folgender Adresse abgedruckt: 1729721222 Bei Verstößen wenden Sie sich bitte an [email protected], um ihn zu löschen
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3