Home >Backend Development >C++ >How to Efficiently Convert Numbers to Strings and Strings to Numbers in C ?
Converting Numbers to Strings and Vice Versa in C
Converting between numbers and strings is a common task in programming. In C , several methods can be used, including those built into the C 11 standard and earlier versions.
C 03 Conversion Methods
In C 03, the istringstream and ostringstream classes can be utilized for number-to-string and string-to-number conversions, respectively. For example:
int num = 123; stringstream ss; ss << num; string str = ss.str();
To convert a string back to an integer:
string str = "123"; stringstream ss(str); int num; ss >> num;
C 11 Conversion Functions
C 11 introduced several dedicated functions in the
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);
These functions attempt to convert the given string to the specified numeric type. If successful, they return the converted value, and if not, they throw an exception.
Numeric to String
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);
These functions convert the given numeric value to a string representation.
It's important to note that C 11 numeric conversion functions have performance implications, particularly concerning precision. For higher precision requirements, it's recommended to use other methods, such as the C 03 istringstream/ostringstream classes.
The above is the detailed content of How to Efficiently Convert Numbers to Strings and Strings to Numbers in C ?. For more information, please follow other related articles on the PHP Chinese website!