Conversion précise de flottants en chaînes avec une précision décimale spécifiée
En C, convertir un nombre à virgule flottante en chaîne avec une précision spécifique et les chiffres décimaux nécessitent un examen attentif. Ce guide explore deux solutions courantes : stringstream et la fonction to_chars de C 17.
Utilisation de Stringstream
Stringstream est un outil polyvalent pour manipuler des chaînes en C . Pour convertir un flottant en chaîne avec une précision spécifiée, des manipulateurs de flux peuvent être appliqués :
<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();
Utilisation de la fonction to_chars (C 17 et supérieur)
Pour des objectifs plus techniques, comme l'écriture de données au format XML ou JSON, la fonction to_chars introduite dans C 17 propose une solution concise :
<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>
En employant ces techniques, vous pouvez convertir des flottants en chaînes en C avec un contrôle précis sur le nombre de chiffres décimaux, garantissant que vos données sont représentées avec précision et en conformément à vos exigences.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!