c语言如何判断一个字符串中只含有数字和小数点

亚细亚 2012-04-14 05:34:08
如题!
...全文
636 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
亚细亚 2012-04-14
  • 打赏
  • 举报
回复
都是高手啊!:)
evencoming 2012-04-14
  • 打赏
  • 举报
回复
貌似有内存泄露。。。
丢丑了。
evencoming 2012-04-14
  • 打赏
  • 举报
回复
再来一个:

int fun(const char *str)
{
if(!str)
return 0;
char *buf=(char*)malloc(strlen(str)+1);
strcpy(buf,str);
sscanf(str,"%*[0-9.]",buf);
return strcmp(str,buf)==0;
}
Cai菜 2012-04-14
  • 打赏
  • 举报
回复
这样也行:

bool NumDot()
{
char array[32];
gets(array);
char *a=array;

while (*a)
{
if (*a!='.'&&!(*a>='0'&&*a<='9'))
{
return false;
}
a++;
}
return true;
}
evencoming 2012-04-14
  • 打赏
  • 举报
回复
貌似写的不好。。
这样
//0表示 不符合条件。 1表示符合
int is_num(char *str)
{
while(*str)
{
if(strchr("0123456789.",*str))
str++;
else return 0;
}
return 1;
}
evencoming 2012-04-14
  • 打赏
  • 举报
回复
char str[]="51654.1546";
int n=strcspn(str,"0123456789.");
if(str[n])
{
puts("存在非小数点和数字");
}
else
{
puts("不存在非小数点和数字");
}

69,382

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧