在C++中如何判断一个字符串是数值,有许多方法。

有些方法利用输出流对象,效率很低。

也有用_ttof(str)函数,它将字符串str转换成double类型的数。如果其参数str不是一个数,则返回0。但如果str是字符串"0",也返回0。这就出现了歧义。

目前出现了一个新的系统函数解决了这个问题。这个函数的声明是:

int sscanf_s( const char *buffer, const char *format [, argument ] ... );

此函数的主要作用是将字符串buffer按规定的格式转换为数。但它有个重要的改进就是它的返回值,如果转换失败就返回0。这样如果函数返回0,就可以确认buffer不是一个数。

因此我们可以定义下面的函数来判断一个字符串是否是一个数:

bool IsNumber(const char *str)
{double aa;int nn = sscanf_s(str, "%lf", &aa);return nn != 0;
}

在判断出一个字符串是数值后,再用_ttof(str)函数将字符串转换成数就比较方便了:

if (IsNumber(str)) a = _ttof(str);

C++如何高效地判断一个字符串是数值?相关推荐

  1. excel判断字符串包含另一个字符串_【前端冷知识】如何正确判断一个字符串是数值?...

    在网页中,我们从用户输入的内容中获取的值通常是字符串,但是有时候我们希望用户输入的内容一定要能转成数值: <input id="userInput"> userInpu ...

  2. C语言---写一个函数,判断一个字符串是否为另外一个字符串旋转之后的字符串

    题目: 写一个函数,判断一个字符串是否为另外一个字符串旋转之后的字符串. #include <string.h> #include <stdio.h> void left_re ...

  3. Java:判断一个字符串中是否存在另一个字符子串以及判断一个字符串中是否存在指定字符

    Java:判断一个字符串中包含指定字符子串,判断一个字符串中存在指定字符 字符串的contains方法可以判断一个字符串中是否存在另一个字符子串,示例如下 String Str = "Hel ...

  4. AJPFX实列判断一个字符串是不是对称字符串

    import java.util.Scanner; /** 判断一个字符串是否是对称字符串 */ public class StringDemo { public static void main(S ...

  5. 如何判断一个字符串在JavaScript中是否包含某个字符?

    本文翻译自:How to tell if a string contains a certain character in JavaScript? I have a page with a textb ...

  6. java怎么统计随机数出现次数,Excel统计出现次数、个数的VBA代码 java中怎么判断一个字符串中包含某个字符或字...

    延伸:java中怎么判断一个字符串中包含某个字符或字符 描述:...一个字符串中包含某个字符的单词说出现的次数 c#什么方法可以判断字符串中包含某个字符的个数? JAVA判断字符串数组中是否包含某字符 ...

  7. python判断ip地址是否合法_python实现判断一个字符串是否是合法IP地址的示例

    一个刚结束的笔试题目,简单贴一下吧,下面是具体实现: #!usr/bin/env python #encoding:utf-8 ''' __Author__:沂水寒城 功能:判断一个字符串是否是合法I ...

  8. python如何判断字符串是否包含某些汉字_Python如何判断一个字符串是否包含指定子字符串...

    Python如何判断一个字符串是否包含指定字符串?本篇文章就给大家介绍Python判断一个字符串是否包含指定子串的3种方法.有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助. 程序员在字 ...

  9. 字符串左旋问题及判断一个字符串是否由另一个字符串左旋得到

    字符串左旋问题 问题描述 左旋字符串中的k个字符.例如 ABCD左旋一个字符得到BCDA ,ABCD左旋两个字符得到CDAB 解法一:暴力破解法 先左旋一个字符 将字符串首个字符保存在temp中 字符 ...

最新文章

  1. Servlet——ServletConfig
  2. 疑难杂症——解决 Cinder 僵尸卷问题
  3. 【Python爬虫学习笔记6】JSON文件存储
  4. springboot系列八、springboot整合kafka
  5. 一些算法(最短路,线段树,01,完全背包,STL)的基本参考资料
  6. gitHub上传项目
  7. 设计模式之观察者模式PHP实现
  8. 人工智能AI编程基础(一)
  9. 【单片机基础篇】51单片机流水灯原理
  10. 宝藏又小众的灯罩VRay材质球素材网站分享
  11. J语言初步,绝妙的符号系统,神的计算器
  12. 电脑远程桌面-局域网
  13. java汉字获取首字母
  14. c语言编程实现泰森多边形算法,Voronoi图简介及C语言实现
  15. CF1579D (1400) 贪心+优先队列
  16. react native 实战系列教程之热更新原理分析与实现
  17. 产业洞察 | 云徙VS数澜,同期的峰会不同的发展方向
  18. 【笔记】如何让动画状态机的攻击动作只让上半身动
  19. 浅谈rpc(远程过程调用)
  20. 对讲机到底需不需要中继台

热门文章

  1. 查询oracle 数据库版本
  2. C++语言的define用法
  3. 11套烟花代码,多种方式实现的烟花代码,基于Html/jQuery/css实现的烟花代码合集,总有一款是你喜欢的
  4. 参观中关村软件园二期小记
  5. SUMO学习(1)关于osm地图无法转换xml
  6. pandoc latex 转 word(.docx) 踩坑记录
  7. 信安软考——第六章 认证技术原理和应用 笔记记录
  8. “炒房团”攻占元宇宙,有人2732万买入一块虚拟土地,林俊杰也花78万入手了
  9. 2020A证(安全员)模拟考试系统及A证(安全员)实操考试视频
  10. 2016年10月1日--国庆日晚上