社区
C语言
帖子详情
字符串的问题
ZIPPO_TISEKI
2002-06-28 04:19:21
给出一个字符串,如何判断字符串是数字?可以正负带小数点。
要判断“+,-,各种符号,字符,数字,空格,小数点“
可否给出完整的函数?返回值为char *
可以再加分!!!
...全文
30
11
打赏
收藏
字符串的问题
给出一个字符串,如何判断字符串是数字?可以正负带小数点。 要判断“+,-,各种符号,字符,数字,空格,小数点“ 可否给出完整的函数?返回值为char * 可以再加分!!!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
softman_2000
2002-07-02
打赏
举报
回复
使用atof函数,如果返回之为零,则不是数,否则是一个数。
char ch[] = "3223.3423";
float f = atof(ch);
可以是一试。
ZIPPO_TISEKI
2002-07-02
打赏
举报
回复
/**
* Judge string is digit
**/
int
JudgeStringIsDigit(char *str)
{
int i, len, cnt;
cnt = 0;
len = strlen(str);
for ( i = 0; i < len ; i++ ) {
if ( str[i] == '.' ){
cnt ++;
}
}
if (cnt > 1) {
str = "";
return ERROR;
}
if(str[0] == '0' && str[1] != '.') { //like 0123 error
return ERROR;
}
if(str[0] == '+' || str[0] == '-' ) {
if(str[1] == '0' && str[2] != '.' ) { //like -012 or +012 error
return ERROR;
}
}
if(str[0] == '+' || str[0] == '-' || isdigit(str[0]) != 0 ) {
goto judgenext;
} else {
str = "";
return ERROR;
}
judgenext:
for ( i = 1; i < len ; i++ ) {
if ( isdigit(str[i]) != 0 || '.' == str[i] ) {
continue;
} else {
str = "";
return ERROR;
}
}
return OK;
}
感谢大家的帮助,看看我的这个函数有没有bug?
等公司网速快的时候就给分,谢了~~,
以后有问题还请大家多多帮忙阿。
ZIPPO_TISEKI
2002-07-01
打赏
举报
回复
-02.345e 好像就不行阿
FrankQf
2002-06-28
打赏
举报
回复
#include <stdio.h>
int isNumber(char *);
void main(void)
{
char *p1="-435646.0";
int a;
a=isNumber(p1);
if (a)
printf(p1);
else
printf("error!!!\n");
return ;
}
int isNumber(char *p)
{
int i=0,count=0;
while(*p)
{
if (i==0)
if(((*p)!='+')&&((*p)!='-')&&(!((*p)<='9' && (*p)>='0')))
return 0;
else
i=1;
else
if (*p=='.')
{
count=count+1;
if (count>1 || *(p+1)==0)
return 0;
}
else
{
if((*p)>'9' || (*p)<'0')
return 0;
}
p++;
}
return 1;
}
//以上在VC6上调试通过!
ice119103
2002-06-28
打赏
举报
回复
词法分析?
atlantis13579
2002-06-28
打赏
举报
回复
正则表达式的算法
snowroad
2002-06-28
打赏
举报
回复
//返回1是数字 0不是
int IsDigiString(char *szBuf)
{
char szValid[]={" +-.0123456789"} ;
int ret=1,i ;
for(i=0;i<strlen(szBuf);i++)
{
if(strchr(szValid,szBuf[i])==NULL)
{
ret=0 ;
break;
}
}
return ret ;
}
已调试过。
ZIPPO_TISEKI
2002-06-28
打赏
举报
回复
谢谢 minitigger(阿修罗十三之雪) 先~~
但是小数点的问题没有考虑吧。。
继续等待。。。
FrankQf
2002-06-28
打赏
举报
回复
可以对字符串进行分析,例如比较经典的是表达式分析,这方面的你可以参考一下有关数据结构和相关算法的书。你如果要判断是否全为数字的话,这个应该很容易完成。
minitigger
2002-06-28
打赏
举报
回复
char * ptr ;
ptr ="-7498327.7489273" ;
char c ;
for (int i =0;i<strlen(ptr);i++ ,c=ptr++)
if(i=0)
if('+'==c||'-'==c||atoi(c)>=0&&atoi(c)<=9) ;
else return -1 ;
if(atoi(c)>=0&&atoi(c)<=9||','==c) ;
else return -1 ;
return 0 ;
我没有调试,肯定有错误,自己调吧
xingforever
2002-06-28
打赏
举报
回复
能不能说清楚点
给个一字符串例子看看
VS中输入
字符串
和输出
字符串
问题
VS中输入
字符串
和输出
字符串
问题
** 因为自己刚开始用VS,不是很习惯,今天发现一个
问题
,就是我想实现输入一段
字符串
,然后在将它输出来,发现没有输出,反而是听了一会儿,然后闪退了,同样的代码放到Dev C++运行...
C++
字符串
问题
:输入一任意
字符串
,输出串中出现的字符及其出现次数,按照首次出现顺序排列。
最近学数据结构时偶然出现了一道C++
字符串
问题
, 和往常的统计
字符串
出现次数以及打印统计表图不太一样。 这道题的特殊之处在于按照顺序不重复输出字符数量, 当自己敲完后在网上看到类似的代码有用C++类写的, ...
以get方式传递json
字符串
问题
。
以get方式传递json
字符串
问题
。 由于需要,我这边需要以get的方式将一个手动拼接的json串传出去,方便另一方解析接收。 直接在jsp中的java代码块进行了拼接。 String name="{"+"""+“name”+"""+":"+"""+“lisi”+"...
算法——
字符串
处理集合
hash思想解决
字符串
问题
实现子串查找函数strstr 实现
字符串
转成整型函数atoi 实现
字符串
拷贝函数strcpy 实现
字符串
中单词倒置
字符串
的子串
问题
1.1最长公共子序列 LCS
问题
描述:Longest Common Subsequence,一...
Python 处理导入EXCEL数据存在空格、空
字符串
问题
最近使用Python做一个EXCEL数据整理的功能,遇到导入EXCEL的单元格存在
字符串
类型数据为空格情况,目的想将该部分
字符串
为空格替换为int类型,值为0。在网上查找了很多资料,尝试了很多方法都没有用,最后发现最简单...
C语言
69,373
社区成员
243,080
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章