社区
C语言
帖子详情
字符串的问题
ZIPPO_TISEKI
2002-06-28 04:19:21
给出一个字符串,如何判断字符串是数字?可以正负带小数点。
要判断“+,-,各种符号,字符,数字,空格,小数点“
可否给出完整的函数?返回值为char *
可以再加分!!!
...全文
38
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
打赏
举报
回复
能不能说清楚点
给个一字符串例子看看
fastjson的jar包 绿色版
阿里巴巴公司研发的fastjson1.2.2的jar包 以及源码包
tyvj 1170 0/1
字符串
问题
字符串
中仅包含0和1两个字符;②
字符串
的长度为n;③
字符串
中不含有三个连续的相同子串 搜索
FromAdmin☆0/1
字符串
问题
描述 Description 编程找出符合下列条件的
字符串
:①
字符串
中仅包含0和1两个字符;②
字符串
的长度为n;③
字符串
中不含有三个连续的相同子串。 输入格式 Input Format 输入文件仅包含一个整数n(0<n≤35),表示
字符串
的长度。 输出格式 Output Format 输出文件仅包含一个整数,表示符合上述条件的
字符串
的总数。 样例输入 Sample Input 2 样例
Java split根据“.“分割
字符串
问题
Java split根据"."分割
字符串
问题
1. 为啥str.split(".") 分割出来的是空的2. Java中的转义字符 Escape Character3. 正则表达式中的转义符举例 1. 为啥str.split(“.”) 分割出来的是空的 split() 方法根据匹配给定的正则表达式来拆分
字符串
。 注意: . $ | * 等转义字符,必须得加 \\。 因此,应该用str.split(“\\.”) 2. Java中的转义字符 Escape Character 字母前加上"\"来表示一些不
字符串
常见算法整理
文章目录单
字符串
问题
:
字符串
反转回文判断截取字符(串)排列组合生成子串生成子序列
字符串
交互
问题
:(最长)公共
字符串
(最长)非递增(减)公共
字符串
N个
字符串
字符环(最长)公共子序列(最长)非递增(减)公共子序列N个
字符串
字符环超精度运算(数据结构的)巧妙设计搜索算法 单
字符串
问题
:
字符串
反转 回文判断 截取字符(串) 排列组合 生成子串 生成子序列
字符串
交互
问题
:...
shell 拼接
字符串
,出现后面的
字符串
覆盖前面的
字符串
问题
经过反复查询,找到了
问题
所在:文件类型不对导致shell命令出错。shell 拼接
字符串
语法很简单两个参数并排前后写上接口,如下。在拼接
字符串
的时候,后面的
字符串
将前面的
字符串
覆盖了。文件的类型设置成了:CRLF应该为 LF。str2 的结果未 wwwbbb。将文件类型改为:LF。
C语言
70,025
社区成员
243,254
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章