Maison > développement back-end > C++ > Comment convertir efficacement des nombres en chaînes et des chaînes en nombres en C ?

Comment convertir efficacement des nombres en chaînes et des chaînes en nombres en C ?

Patricia Arquette
Libérer: 2024-12-18 10:59:08
original
666 Les gens l'ont consulté

How to Efficiently Convert Numbers to Strings and Strings to Numbers in C  ?

Conversion de nombres en chaînes et vice versa en C

La conversion entre nombres et chaînes est une tâche courante en programmation. En C , plusieurs méthodes peuvent être utilisées, y compris celles intégrées au standard C 11 et aux versions antérieures.

Méthodes de conversion C 03

En C 03, l'istingstream et Les classes ostringstream peuvent être utilisées respectivement pour les conversions de nombre en chaîne et de chaîne en nombre. Par exemple :

int num = 123;
stringstream ss;
ss << num;
string str = ss.str();
Copier après la connexion

Pour reconvertir une chaîne en entier :

string str = "123";
stringstream ss(str);
int num;
ss >> num;
Copier après la connexion

Fonctions de conversion C 11

C 11 a introduit plusieurs fonctions dédiées dans le en-tête pour la conversion entre les chaînes et les types numériques :

String to Numeric

float stof(const string& str);
double stod(const string& str);
long double stolet(const string& str);
int stoi(const string& str, int base = 10);
long stol(const string& str, int base = 10);
unsigned long stoul(const string& str, int base = 10);
long long stoll(const string& str, int base = 10);
unsigned long long stoull(const string& str, int base = 10);
Copier après la connexion

Ces fonctions tentent de convertir la chaîne donnée en type numérique spécifié. En cas de succès, ils renvoient la valeur convertie, et sinon, ils lèvent une exception.

Numérique en chaîne

string to_string(int val);
string to_string(unsigned val);
string to_string(long val);
string to_string(unsigned long val);
string to_string(long long val);
string to_string(unsigned long long val);
string to_string(float val);
string to_string(double val);
string to_string(long double val);
Copier après la connexion

Ces fonctions convertissent la valeur numérique donnée en une représentation sous forme de chaîne.

Il est important de noter que les fonctions de conversion numérique C 11 ont des implications en termes de performances, notamment en termes de précision. Pour des exigences de précision plus élevées, il est recommandé d'utiliser d'autres méthodes, telles que les classes C 03 istringstream/ostringstream.

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