Präzise Konvertierung von Gleitkommazahlen in Zeichenfolgen mit angegebener Dezimalgenauigkeit
Konvertieren einer Gleitkommazahl in eine Zeichenfolge mit bestimmter Genauigkeit und in C 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 Gleitkommawert mit einer bestimmten Genauigkeit in einen String umzuwandeln, können Stream-Manipulatoren angewendet werden:
<code class="cpp">#include <iomanip> #include <sstream> double pi = 3.14159265359; std::stringstream stream; stream << std::fixed << std::setprecision(2) << pi; std::string s = stream.str();
Verwendung der to_chars-Funktion (C 17 und höher)
Für eher technische Zwecke, wie das Schreiben von Daten in XML oder JSON, bietet die in C 17 eingeführte to_chars-Funktion eine prägnante Lösung:
<code class="cpp">#include <array> #include <charconv> double pi = 3.14159265359; std::array<char, 128> 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 }</code>
Durch den Einsatz dieser Techniken können Sie Gleitkommazahlen in Zeichenfolgen in C mit präziser Kontrolle über die Anzahl der Dezimalstellen konvertieren und so sicherstellen, dass Ihre Daten genau und korrekt dargestellt werden entsprechend Ihren Anforderungen.
Das obige ist der detaillierte Inhalt vonWie konvertiert man in C Floats präzise in Strings mit einer bestimmten Dezimalgenauigkeit?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!