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 サイトの他の関連記事を参照してください。