English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

C++ Tutoriel de base

C++ Contrôle de flux

C++ Fonction

C++ Tableau & chaîne

C++ Structure de données

C++ Classe & objet

C++ Pointeur

C++ Héritage

C++ Tutoriel STL

C++ Manuel de référence

C++ String (chaîne) et float/Conversion entre double (nombre à virgule flottante) et float

Dans ce tutoriel, nous allons apprendre à convertir une chaîne en nombre à virgule flottante et vice versa à l'aide d'exemples.

C ++Conversion de chaîne en nombre à virgule flottante et double flottant

Le moyen le plus simple de convertir une chaîne en nombre à virgule flottante est d'utiliser ce qui suitC ++ 11Fonction :

  • std :: stof() - Convertir string en float

  • std :: stod() - Convertir string en double

  • std :: stold() - Convertir string en long double.

Ces fonctions sont définies dans le fichier d'en-tête string.

Exemple1:C ++Conversion de chaîne en nombre à virgule flottante et double flottant

#include<iostream>
#include<string>
int main() {
    std::string str = "123.4567";
    // Convertir une chaîne en nombre à virgule flottante
    float num_float = std::stof(str);
    // Convertir une chaîne en double flottant double
    double num_double = std::stod(str);
   std::cout << "num_float = " << num_float << std::endl;
   std::cout << "num_double = " << num_double << std::endl;
    return 0;
}

Résultat de la sortie

num_float = 123.457
num_double = 123.457

Exemple2:Convertir C ++ Conversion d'un tableau de caractères en double

Nous pouvons utiliser la fonction std::atof() pour convertir un tableau de caractères en double.

#include<iostream>
// atoi() nécessite cstdlib
#include<cstdlib>
int main() {
    // Déclarer et initialiser un tableau de caractères
    char str[] = "123.4567";
    double num_double = std::atof(str);
    std::cout << "num_double = " << num_double << std::endl;
    
    return 0;
}

Résultat de la sortie

num_double = 123.457

C ++Nombres flottants et doubles en chaînes

Nous pouvons utiliser C ++ 11 std :: to_string() fonction convertit float et double en chaînes. Pour les anciens C ++Compilateur, nous pouvons utiliser l'objet std :: stringstream.

Exemple3:Utilisez to_string() pour convertir des nombres flottants et des nombres doubles en chaînes

#include<iostream>
#include<string>
int main() {
    float num_float = 123.4567F;
    double num_double = 123.4567;
    std::string str1 = std::to_string(num_float);
    std::string str2 = std::to_string(num_double);
   std::cout << "Float Converti En String = " << str1 << std::endl;
   std::cout << "Double Converti En String = " << str2 << std::endl;
    return 0;
}

Résultat de la sortie

Float Converti En String = 123.456703
Double Converti En String = 123.456700

Exemple4:Utilisez stringstream pour convertir des nombres flottants et des nombres doubles en chaînes

#include<iostream>
#include<string>
#include<sstream> // Utilisez stringstream
int main() {
    float num_float = 123.4567F;
    double num_double = 123.4567;
  
    // Créer un objet stringstream
    std::stringstream ss1;
    std::stringstream ss2;
  
    // Affecter la valeur de num_float à ss1
    ss1 << num_float;
  
    // Affecter la valeur de num_float à ss2
    ss2 << num_double;
     //Utilisez ss1et ss2Initialiser deux variables de chaîne
     //Ensuite, utilisez la fonction str() pour la convertir en format chaîne
    std::string str1 = ss1.str();
    std::string str2 = ss2.str();
  
    std::cout << "Float Converti En String = " << str1 << std::endl;
    std::cout << "Double Converti En String = " << str2 << std::endl;
    return 0;
}

Résultat de la sortie

Float Converti En String = 123.457
Double Converti En String = 123.457

Conversions associées : convertir C ++Conversion de chaîne en int.