Home >Backend Development >C++ >How to Efficiently Convert Numbers to Strings and Strings to Numbers in C ?

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

Patricia Arquette
Patricia ArquetteOriginal
2024-12-18 10:59:08668browse

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 header for converting between strings and numeric types:

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!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn