在解决逻辑编程困难时使用字符串或字符非常有帮助。字符串中的字符是 1 字节数据类型,可以存储 ASCII 值中的符号。字符串是字符的集合。这些符号可以是特殊字符、数字系统中的数字或英文字母表中的字母。本文将教你如何使用C++判断一个字符是否为数字字符。
检查字符串是否为数字
要检查给定的字符串是否为数字,我们需要检查其中的每个字符是否为数字。如果其中任何一个字符是非数字字符,则该字符串是非数字的,否则它是数字的。算法如下所示 –
算法
读取字符串 s 作为输入对于字符串 s 中的每个字符 c,执行以下操作如果 c 是非数字,则返回错误结束如果结束返回真
示例
#include #include using namespace std;string solve( string s ) { for( int i = 0; i输出
Is "589" a numeric string? : TrueIs "69a" a numeric string? : FalseIs "2979624" a numeric string? : TrueIs "25%4A" a numeric string? : FalseIs "889" a numeric string? : True登录后复制
这个解决方案可以检查给定的字符串是否为数字,但当输入为负数时不会返回true。对于负数,需要进行特殊检查。
检查字符串是否为负数或正数
检查给定的字符串是否是数字,我们只需要检查每个字符是否是数字。但对于负数,第一个字符必须是“-”符号。所以先检查第一个字符是否是负数,然后检查下一个字符是否是数字,如果是,则检查剩下的字符是否是数字。算法如下所示 -
立即学习“C++免费学习笔记(深入)”;
算法
读取字符串 s 作为输入如果s的第一个字符是'-'并且下一个字符是数字,则st = 1否则st=0如果结束对于字符串 s 中从索引 st 开始的每个字符 c,执行以下操作如果 c 是非数字,则返回错误如果结束结束返回真
示例
#include #include 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输出
Is "687" a numeric string? : TrueIs "256l" a numeric string? : FalseIs "-5845" a numeric string? : TrueIs "-89A2" a numeric string? : FalseIs "-256" a numeric string? : True登录后复制
结论
检查给定字符串是否是数字,我们需要检查它的每个字符。当所有字符都是数字时,则字符串是数字。在本文中,我们还使用逻辑来检查负数。当第一个字符是负号时,然后检查下一个字符是否是数字。如果是,则检查其余部分。该程序可以扩展以检查浮点数。现在它只适用于正整数和负整数。
以上就是C++程序检查字符串是否为数字的详细内容,更多请关注【创想鸟】其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2586099.html