社区
C语言
帖子详情
字符串的问题
ZIPPO_TISEKI
2002-06-28 04:19:21
给出一个字符串,如何判断字符串是数字?可以正负带小数点。
要判断“+,-,各种符号,字符,数字,空格,小数点“
可否给出完整的函数?返回值为char *
可以再加分!!!
...全文
35
11
打赏
收藏
字符串的问题
给出一个字符串,如何判断字符串是数字?可以正负带小数点。 要判断“+,-,各种符号,字符,数字,空格,小数点“ 可否给出完整的函数?返回值为char * 可以再加分!!!
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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
打赏
举报
回复
能不能说清楚点
给个一字符串例子看看
java六大必须理解的
问题
文档
- **
字符串
的定义与引用**:在Java中,`String` 类是一种特殊的对象类型,用于表示文本
字符串
。例如 `String s = "Hello world!";` 这行代码创建了一个名为`s` 的变量,该变量指向一个包含“Hello world!”文本的`...
Android快速开发系列 10个常用工具类 程序源码
1. **StringUtil**:
字符串
处理工具类,包括
字符串
格式化、拼接、分割、校验等操作。例如,它可能提供检查
字符串
是否为空,转换首字母大写或小写,以及去除
字符串
两端的空白字符等方法。 2. **DateUtil**: 时间日期...
fastjson的jar包 绿色版
这个库支持JSON对象和Java对象之间的相互转换,包括JSON
字符串
到Java对象的反序列化,以及Java对象到JSON
字符串
的序列化。它还提供了解析JSON
字符串
和生成JSON
字符串
的方法,使得处理JSON数据变得简单易行。 其次,...
字符串
常见算法整理
文章目录单
字符串
问题
:
字符串
反转回文判断截取字符(串)排列组合生成子串生成子序列
字符串
交互
问题
:(最长)公共
字符串
(最长)非递增(减)公共
字符串
N个
字符串
字符环(最长)公共子序列(最长)非递增(减)...
51单片机用到strcmp比较
字符串
问题
及解决
51单片机用到strcmp比较
字符串
问题
及解决
C语言
70,023
社区成员
243,263
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章