Maison  >  Article  >  développement back-end  >  Comment convertir un flottant en chaîne avec précision et nombre de chiffres décimaux en C ?

Comment convertir un flottant en chaîne avec précision et nombre de chiffres décimaux en C ?

DDD
DDDoriginal
2024-10-24 06:47:02132parcourir

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

Comment convertir un flottant en chaîne avec précision et nombre de chiffres décimaux en C

En C, vous pouvez convertir un flottant en une chaîne tout en spécifiant la précision et le nombre de chiffres décimaux à l'aide de diverses méthodes, notamment :

Utilisation de 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();

Dans cette approche, std::fixed garantit une valeur fixe -notation point, et std::setprecision définit le nombre de décimales.

Utilisation de std::to_chars (C 17)

Pour les conversions techniques spécifiques, C 17 introduit la fonction std::to_chars :

<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>

Ici, std::chars_format::fixed spécifie la notation à virgule fixe, et le troisième paramètre contrôle le nombre de décimales.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn