文字列が C の数値であるかどうかを判断する
テキストベースのデータを扱う場合、指定された文字列が数値であるかどうかを判断する必要がある場合があります。 string は数値を表します。 C では、これに対処するための複数のアプローチがあります。
1 つの方法は、文字列に数字以外の文字が含まれているかどうかを確認することです。そうである場合、その文字列は数値ではありません。このアプローチに従う関数を次に示します。
bool is_number(const std::string& s) { std::string::const_iterator it = s.begin(); while (it != s.end() && std::isdigit(*it)) ++it; return !s.empty() && it == s.end(); }
代わりに、C 11 ではより簡潔な構文が提供されます。
bool is_number(const std::string& s) { return !s.empty() && std::find_if(s.begin(), s.end(), [](unsigned char c) { return !std::isdigit(c); }) == s.end(); }
これらの関数はどちらも、文字列に数字のみが含まれていることを検証します。ただし、これらは正の整数に対してのみ機能します。負の整数または分数をサポートするように拡張するには、より堅牢なライブラリベースのソリューションが必要になります。数字以外の文字をチェックするか、C 11 を使用することで、特定のニーズに合わせて文字列が数値を表すかどうかを効率的に判断できます。
以上がC 文字列が数値を表しているかどうかを効率的に判断するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。