ホームページ >バックエンド開発 >C++ >C で数値を文字列に、文字列を数値に効率的に変換するにはどうすればよいですか?

C で数値を文字列に、文字列を数値に効率的に変換するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-18 10:59:08668ブラウズ

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

C での数値から文字列への変換、およびその逆の変換

数値と文字列間の変換は、プログラミングにおける一般的なタスクです。 C では、C 11 標準および以前のバージョンに組み込まれているメソッドを含む、いくつかのメソッドを使用できます。

C 03 変換メソッド

C 03 では、 isstringstream とostringstream クラスは、数値から文字列への変換、および文字列から数値への変換にそれぞれ使用できます。例:

int num = 123;
stringstream ss;
ss << num;
string str = ss.str();

文字列を整数に変換するには:

string str = "123";
stringstream ss(str);
int num;
ss >> num;

C 11 変換関数

C 11 ではいくつかの変換関数が導入されました。 内の専用関数文字列と数値型の間で変換するためのヘッダー:

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);

これらの関数は、指定された文字列を指定された数値型に変換しようとします。成功した場合は変換された値を返し、失敗した場合は例外をスローします。

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);

これらの関数は、指定された数値を String に変換します。

C 11 の数値変換関数は、特に精度に関してパフォーマンスに影響を与えることに注意することが重要です。より高い精度の要件については、C 03 isstringstream/ostringstream クラスなどの他のメソッドを使用することをお勧めします。

以上がC で数値を文字列に、文字列を数値に効率的に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。