Maison >développement back-end >C++ >Comment convertir efficacement des nombres en chaînes et des chaînes en nombres en 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();
Pour reconvertir une chaîne en entier :
string str = "123"; stringstream ss(str); int num; ss >> num;
Fonctions de conversion C 11
C 11 a introduit plusieurs fonctions dédiées dans le
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);
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);
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!