English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Dans ce tutoriel, nous allons apprendre à convertir une chaîne en nombre à virgule flottante et vice versa à l'aide d'exemples.
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.
#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
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
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.
#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
#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.