免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: samir1224
打印 上一主题 下一主题

[C++] 判断字符串是否为数字 [复制链接]

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
11 [报告]
发表于 2011-10-23 20:14 |只看该作者
判断个球毛啊!直接转!

论坛徽章:
0
12 [报告]
发表于 2011-10-23 20:35 |只看该作者
我觉得加一个存储数据的type比较好

论坛徽章:
0
13 [报告]
发表于 2011-10-23 21:01 |只看该作者
本帖最后由 幻の上帝 于 2011-10-23 21:03 编辑

回复 9# 塑料袋

LZ的说转换只是背景而已(虽然也是需求),问句里没提到要怎么实现“转”这个具体动作,只是说是否判断是数字。
这样的话根本不用转。不考虑locale(各种分节符以及小数点不用'.'的奇葩情形),一次遍历字符串,每个字符isdigit判断一下是不是数字,同时再判断一下是不是'.';最后如果全是数字且'.'不超过一个就说明符合条件。
不过既然要转,我也认为直接转就好。

论坛徽章:
0
14 [报告]
发表于 2011-10-24 09:59 |只看该作者
回复  samir1224

可以使用如下两个函数之一:
       double strtod(const char *nptr, char **endptr ...
happy_fish100 发表于 2011-10-23 12:33



    it works.Thanks.

论坛徽章:
0
15 [报告]
发表于 2012-03-22 19:14 |只看该作者
happy_fish100 发表于 2011-10-23 12:33
回复 1# samir1224

可以使用如下两个函数之一:

如果被检查的字符串是数字加其他 如:“1234aaaa”,还是会被认为是数字,怎么回事呢?

论坛徽章:
154
2022北京冬奥会纪念版徽章
日期:2015-08-07 17:10:5720周年集字徽章-年
日期:2022-10-26 16:44:2015-16赛季CBA联赛之深圳
日期:2022-11-02 14:02:4515-16赛季CBA联赛之八一
日期:2022-11-28 12:07:4820周年集字徽章-20	
日期:2023-07-19 08:49:4515-16赛季CBA联赛之八一
日期:2023-11-04 19:23:5115-16赛季CBA联赛之广夏
日期:2023-12-13 18:09:34
16 [报告]
发表于 2012-03-22 19:27 |只看该作者

论坛徽章:
154
2022北京冬奥会纪念版徽章
日期:2015-08-07 17:10:5720周年集字徽章-年
日期:2022-10-26 16:44:2015-16赛季CBA联赛之深圳
日期:2022-11-02 14:02:4515-16赛季CBA联赛之八一
日期:2022-11-28 12:07:4820周年集字徽章-20	
日期:2023-07-19 08:49:4515-16赛季CBA联赛之八一
日期:2023-11-04 19:23:5115-16赛季CBA联赛之广夏
日期:2023-12-13 18:09:34
17 [报告]
发表于 2012-03-22 19:28 |只看该作者
检查不含字母,,很难么

论坛徽章:
5
未羊
日期:2014-08-07 15:42:10双子座
日期:2014-09-23 15:42:172015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:55:282022北京冬奥会纪念版徽章
日期:2015-08-10 16:30:32
18 [报告]
发表于 2012-03-22 21:19 |只看该作者
是字符串就是字符串,是数字就是数字;
主要问题就是将字符串转化为数字,用sscanf()函数就可以讲字符串转化为数字;

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
19 [报告]
发表于 2012-03-22 21:33 |只看该作者

把这个状态机实现了就行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP