Heim > Backend-Entwicklung > C++ > Wie konvertiert man in C eine Gleitkommazahl mit Genauigkeit und Anzahl der Dezimalstellen in eine Zeichenfolge?

Wie konvertiert man in C eine Gleitkommazahl mit Genauigkeit und Anzahl der Dezimalstellen in eine Zeichenfolge?

DDD
Freigeben: 2024-10-24 06:47:02
Original
238 Leute haben es durchsucht

How Do You Convert a Float to a String with Precision and Number of Decimal Digits in C  ?

So konvertieren Sie eine Gleitkommazahl in eine Zeichenfolge mit Genauigkeit und Anzahl der Dezimalstellen in C

In C können Sie eine Gleitkommazahl in umwandeln eine Zeichenfolge, während die Genauigkeit und die Anzahl der Dezimalstellen mit verschiedenen Methoden angegeben werden, darunter:

Verwendung von Stringstream

<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();
Nach dem Login kopieren

Bei diesem Ansatz stellt std::fixed sicher, dass es behoben ist -Punkt-Notation und std::setprecision legt die Anzahl der Dezimalstellen fest.

Verwendung von std::to_chars (C 17)

Für spezifische technische Konvertierungen, C 17 führte die Funktion std::to_chars ein:

<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>
Nach dem Login kopieren

Hier gibt std::chars_format::fixed die Festkommaschreibweise an und der dritte Parameter steuert die Anzahl der Dezimalstellen.

Das obige ist der detaillierte Inhalt vonWie konvertiert man in C eine Gleitkommazahl mit Genauigkeit und Anzahl der Dezimalstellen in eine Zeichenfolge?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage