Maison > développement back-end > C++ > Comment convertir avec précision un flotteur en chaîne avec une précision et des chiffres contrôlés ?

Comment convertir avec précision un flotteur en chaîne avec une précision et des chiffres contrôlés ?

Susan Sarandon
Libérer: 2024-10-24 03:02:29
original
974 Les gens l'ont consulté

How to Precisely Convert a Float to a String with Controlled Precision and Digits?

Conversion précise d'un flottant en chaîne avec précision et contrôle des chiffres

En C, la conversion d'un flottant en chaîne implique de spécifier la précision et le nombre de chiffres décimaux, garantissant une représentation précise.

Utilisation de Stringstream :

Une approche courante consiste à utiliser 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();
Copier après la connexion

Formatage fixe et Setprecision :

  • fixed : garantit une notation à virgule fixe où les valeurs à virgule flottante s'affichent avec un nombre spécifique de décimales.
  • setprecision : spécifie le nombre de chiffres décimaux à conserver.

Famille to_chars C 17 :

Pour les conversions techniques, C 17 introduit la famille 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>
Copier après la connexion

Avec ceci méthode, la conversion renvoie une chaîne avec la précision et les chiffres spécifiés, permettant une représentation précise pour les applications générales et techniques.

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!

source:php
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal