怎样判断一个判断字符串全是数字是否全由数字组成

怎样判断一个字符串是否全由数字组成?【c语言吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:532,552贴子:
怎样判断一个字符串是否全由数字组成?收藏
用C怎样判断一个字符串是否全由数字组成,要忽略“+”,“-”,“.”这三个符号。例如1.3984判断结果为全是数字。-2837.37判断的结果也全是数字,但是这个判断的结果为不全是数字。在下小白,求大神讲的通俗易懂。
c语言哪里好?达内,0基础入学,无专业要求,先就业后付款,毕业&薪&起点.c语言哪里好?达内C语言课程,独创TTS8.0授课模式,一线名师授课.
指针指向字符串数组,然后循环+if+ASCII就行了
楼上正解  ——来自手机贴吧 
for(int i = 0;i & strlen(str);i++){ int count = 0;if(((str[i] != '+') || (str[i] != '-') || (str[i] != '.')) && (str[i] &='a' && str[i]&= 'Z')){count++;}}
然后根据count就可以知道有多少个字母了,感觉有点麻烦,期待更优解
#include &stdio.h&main(){char text[20];printf(&请输入字符串:&);scanf(&%s&, text);for (i = 0; i & strlen(text); i++)if (!((text[i] == '-' && i == 0) || text[i] == '.' || (text[i] & '0'&& text[i] & '9')))if (i != strlen(text))printf(&不是数字\n&);elseprintf(&是数字\n&);}
哎呀,太对不起了,刚才翻了,原来小写字母在大写字母前面,所以if(((str[i] != '+') || (str[i] != '-') || (str[i] != '.')) && (str[i] &='a' && str[i]&= 'Z'))写错了,应该把‘a’(97)写成大写‘A’(65),把‘Z’(90)写成小写‘z’(122)if(((str[i] != '+') || (str[i] != '-') || (str[i] != '.')) && (str[i] &='A' && str[i]&= 'z'))但是这样写也不严谨,因为str[i] &='A' && str[i]&= 'z'相当于只要ascii码在65和122之间的都算是字母,但是从91([)到96(')不属于字母。
做了个函数,应该没问题了int isnotnumber(char *str){ int count=0; for(int i=0;i&strlen(str);i++) {
printf("%c",str[i]);
if(((str[i] != '+')||(str[i] != '-')||(str[i] != '.'))&&(((str[i]&='A')&&(str[i]&='Z'))||((str[i]&='a')&&(str[i]&='z'))))
count=count+1;
c语言选择南京北大青鸟(协同校区) 教育部认准教学单位,五重就业保障全力助推就业工作,提供终身就业服务.
#include&stdio.h&#include&string.h&#include&stdbool.h&#define MAX_LEN 100
/*最大可输入的字符串长度*/int main(void){
char c_string[MAX_LEN];
bool isnum=
printf("请输入一段字符串长度不大于%d个字符:\n",MAX_LEN-1);
fgets(c_string,MAX_LEN,stdin);
c_string[strlen(c_string)-1]='\0';
for (int i = 0; i & strlen(c_string); ++i)
if ((!(c_string[i]&='0'&&c_string[i]&='9'))&&(c_string[i]!='+')&&
(c_string[i]!='-')&&(c_string[i]!='.'))
if (isnum)
printf("你输入的\"%s\"是一个数字.\n", c_string);
printf("你输入的\"%s\"不是一个数字.\n",c_string);
getchar();
return 0;}
IsNumber() 函数直接判断了!
原型:extern int isalnum(int c);用法:1 #include &ctype.h&/* 包含 &ctype.h& */ 功能:判断字符变量c是否为字母或数字说明:当c为数字0-9或字母a-z及A-Z时,返回非零值,否则返回零。2程序例编辑 #include &syslib.h&/* 包含 &ctype.h& */#include &ctype.h& /* 包含 &ctype.h& */main()/* “主”函数 */{ /* 整数 c;
// 清屏() 外语全称加缩写:CLeaR SCReen
c='a';/* 变量赋值 */
printf("%c:%s\n",c,isalnum(c)?"yes":"no");/* “格式输出”(外语全称加缩写:printf)
c='7';/* 变量赋值 */
printf("%c:%s\n",c,isalnum(c)?"yes":"no");
c='@';/* 变量赋值 */
printf("%c:%s\n",c,isalnum(c)?"yes":"no");
getchar();/* 获取字符();*/
return 0;/* 返回 零; 正常退出 */}
让每一位字符用十进制输出不就好了,大于10的都是字符
取每个字符的ASCII码,判断是否在数字的ASCII码范围内,2楼正解
目测到目前为止,没有一个答案是正确的
刚才百度出这种Bug,我根本无法发现这是一个坟贴啊!!!坑死我了!
你可以试下
用循环输入字符串。在循环里嵌套if语句,判断字符是否为数字或加减号等。如果不是
就跳出循环
(不是数字)就行了
其实这算是一个小作弊。
老师不太喜欢这种想法。
登录百度帐号推荐应用使用CString的SpanIncluding函数判断字符串是否全为数字
使用CString::SpanIncluding可以检验字符串的合法性,是否是我们要求的字符,比如全是数字构成的字符串,我们可以用下面的代码进行判断:
那为什么能够实现这样的检验呢?对于CString::SpanIncluding,遍历目标字符串,如果发现某个字符不是参数字符集(比如_T(""))中的字符,则立即返回。对于上例,如果满足if条件,肯定能判断符合要求。
不过,目标字符串一般是用户输入的,考虑到用户在字符串的首部或尾部可能会加上空格,上面的代码可能会判断不通过。所以,在判断之前,应该先调用CString::Trim,将字符串的首尾空格去除掉,然后再判断。
如果对于可输入的Combox组合框,我们只允许输入数字或指定的文字,比如下拉列表中包含“分钟”的字符,选中某项后将分钟也放置到组合框的输入框中,只允许输入数字或者带“分钟”字样的字符。我们可以先将“分钟”字样过滤掉,考虑到用户可能会输入空格,调用CString::Trim将首尾空格去掉,然后在使用CString::SpanIncluding来判别。
对于非MFC工程怎么处理呢?跟踪CString::SpanIncluding的代码,底层调用其实就是C函数_tcsspn,使用如下的代码判断即可。
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。&&&&&&&&&&&&&
在javascript中有一个方法isDigit()使用来判断一个字符串是否都是数字,在java的字符串处理方法中没有这样的方法,觉得常常需要用到,于是上网搜了一下,整理出了两个用正则表达式匹配的判断方法,如下:
// 判断一个字符串是否都为数字
public boolean isDigit(String strNum) {
return strNum.matches("[0-9]{1,}");
// 判断一个字符串是否都为数字
public boolean isDigit(String strNum) {
Pattern pattern = pile("[0-9]{1,}");
Matcher matcher = pattern.matcher((CharSequence) strNum);
return matcher.matches();
//截取数字
public String getNumbers(String content) {
Pattern pattern = pile("\\d+");
Matcher matcher = pattern.matcher(content);
while (matcher.find()) {
return matcher.group(0);
return "";
// 截取非数字
public String splitNotNumber(String content) {
Pattern pattern = pile("\\D+");
Matcher matcher = pattern.matcher(content);
while (matcher.find()) {
return matcher.group(0);
return "";
// 判断一个字符串是否含有数字
public boolean HasDigit(String content) {
boolean flag = false;
Pattern p = pile(".*\\d+.*");
Matcher m = p.matcher(content);
if (m.matches()) {
flag = true;
java中判断字符串是否为数字的三种方法 :
1.用JAVA自带的函数&
public static boolean isNumeric(String str) {
for (int i = str.length(); --i &= 0;) {
if (!Character.isDigit(str.charAt(i))) {
return false;
return true;
2.用正则表达式&
public static boolean isNumeric(String str) {
Pattern pattern = pile("[0-9]*");
return pattern.matcher(str).matches();
3.用ascii码&
public static boolean isNumeric(String str) {
for (int i = str.length(); --i &= 0;) {
int chr = str.charAt(i);
if (chr & 48 || chr & 57)
return false;
return true;
&posted on
阅读(...) 评论()苹果/安卓/wp
积分 56, 距离下一级还需 29 积分
道具: 彩虹炫, 涂鸦板, 雷达卡, 热点灯, 金钱卡, 显身卡下一级可获得
权限: 自定义头衔
购买后可立即获得
权限: 隐身
道具: 金钱卡, 彩虹炫, 雷达卡, 热点灯, 涂鸦板
本帖最后由 ljpest 于
10:16 编辑
有这样的函数吗?谢谢。NOTDIGIT只能判断整型。
支持楼主:、
购买后,论坛将把您花费的资金全部奖励给楼主,以表示您对TA发好贴的支持
载入中......
vtype() 函数。
* x 是字符串型的变量 ;
if missing(input(x, best32.)) then
&&X_TYPE = 'STR';
else
&&X_TYPE = 'NUM';复制代码
总评分:&论坛币 + 5&
学术水平 + 1&
热心指数 + 1&
信用等级 + 1&
mingfeng07 发表于
vtype() 函数。^_^ vtype返回的是column的类型,不能分辨column之内变量的形式,比如字符型的数字1, 在vtype眼里,也是字符型。
sniperhgy 发表于
* x 是字符串型的变量 ;谢谢。能工作。
sniperhgy 发表于
^_^ vtype返回的是column的类型,不能分辨column之内变量的形式,比如字符型的数字1, 在vtype眼里,也是 ...哦哦,我理解错了,学习了。
&&input a $ @@;
&&result = ifc(prxmatch('/^-?\d*\.?\d+\s*$/',a),'Num','Char');
1 -1 2.5 a1 2c
;复制代码
初级热心勋章
初级热心勋章
无限扩大经管职场人脉圈!每天抽选10位免费名额,现在就扫& 论坛VIP& 贵宾会员& 可免费加入
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
&nbsp&nbsp|
如有投资本站或合作意向,请联系(010-);
邮箱:service@pinggu.org
投诉或不良信息处理:(010-)
京ICP证090565号
论坛法律顾问:王进律师&&完java正则判断字符串是否是由纯数字组成的问题能否使用str.maches(&\\d+&)来判断字符串是由纯数字组成的?这样做会有什么漏洞吗?或者还有没有别的更优的解决方案?1个牛币所有回答列表(3)&LV4你这个正则负数的话就判断出错了,建议用mons.lang.math.NumberUtil的做:
NumberUtils.isNumber(&xx1&)不过对于000这种数字两种机制都有问题你可以对以0开头的单独处理下就好了。最佳答案js有个isNaN函数可以判断是否为数字^[+-]?[\d\.]+$等等完等等等等完等等等等相关问答完最近浏览暂无贡献等级暂无贡献等级暂无贡献等级暂无贡献等级暂无贡献等级暂无贡献等级暂无贡献等级扫描二维码关注最代码为好友"/>扫描二维码关注最代码为好友}

我要回帖

更多关于 判断字符串全是数字 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信