在解决逻辑编程困难时使用字符串或字符非常有帮助。字符串中的字符是 1 字节数据类型,可以存储 ASCII 值中的符号。字符串是字符的集合。这些符号可以是特殊字符、数字系统中的数字或英文字母表中的字母。本文将教你如何使用C++判断一个字符是否为数字字符。
要检查给定的字符串是否为数字,我们需要检查其中的每个字符是否为数字。如果其中任何一个字符是非数字字符,则该字符串是非数字的,否则它是数字的。算法如下所示 -
#include <iostream> #include <ctype.h> using namespace std; string solve( string s ) { for( int i = 0; i < s.length(); i++ ) { if( !isdigit( s[i] )) { return "False"; } } return "True"; } int main() { cout << "Is "589" a numeric string? : " << solve( "589" ) << endl; cout << "Is "69a" a numeric string? : " << solve( "69a" ) << endl; cout << "Is "2979624" a numeric string? : " << solve( "2979624" ) << endl; cout << "Is "25\%4A" a numeric string? : " << solve( "25\%4A" ) << endl; cout << "Is "889" a numeric string? : " << solve( "889" ) << endl; }
Is "589" a numeric string? : True Is "69a" a numeric string? : False Is "2979624" a numeric string? : True Is "25%4A" a numeric string? : False Is "889" a numeric string? : True
这个解决方案可以检查给定的字符串是否为数字,但当输入为负数时不会返回true。对于负数,需要进行特殊检查。
检查给定的字符串是否是数字,我们只需要检查每个字符是否是数字。但对于负数,第一个字符必须是“-”符号。所以先检查第一个字符是否是负数,然后检查下一个字符是否是数字,如果是,则检查剩下的字符是否是数字。算法如下所示 -
#include <iostream> #include <ctype.h> using namespace std; string solve( string s ) { int start; if( s[0] == '-' && isdigit( s[1] ) ) { start = 1; } else { start = 0; } for( int i = start; i < s.length(); i++ ) { if( !isdigit( s[i] )) { return "False"; } } return "True"; } int main() { cout << "Is "687" a numeric string? : " << solve( "687" ) << endl; cout << "Is "256l" a numeric string? : " << solve( "256l" ) << endl; cout << "Is "-5845" a numeric string? : " << solve( "-5845" ) << endl; cout << "Is "-89A2" a numeric string? : " << solve( "-89A2" ) << endl; cout << "Is "-256" a numeric string? : " << solve( "-256" ) << endl; }
Is "687" a numeric string? : True Is "256l" a numeric string? : False Is "-5845" a numeric string? : True Is "-89A2" a numeric string? : False Is "-256" a numeric string? : True
检查给定字符串是否是数字,我们需要检查它的每个字符。当所有字符都是数字时,则字符串是数字。在本文中,我们还使用逻辑来检查负数。当第一个字符是负号时,然后检查下一个字符是否是数字。如果是,则检查其余部分。该程序可以扩展以检查浮点数。现在它只适用于正整数和负整数。
以上是C++程序检查字符串是否为数字的详细内容。更多信息请关注PHP中文网其他相关文章!