- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我的 ctype.h 中有函数 isnumber()。我在 http://www.cplusplus.com/reference/cctype/ 中都没有的书中找不到此函数的引用资料供咨询。我打算通过一个简单的例子来检测和显示 isdigit() 和 isnumber() 之间的区别,但是没有(此外,函数无法检测到 U+0C6A、U+0ED2 和 ½)。有什么不同吗?我该如何解决?
int main(int, char *[])
{
string text("Hello½123, Poly౪ ໒girl0.5!!!");
decltype(text.size()) punct = 0, alpha = 0, number = 0, space = 0, digit = 0, graf = 0;
for(auto i : text) {
if(ispunct(i)){
cout << i << "<punct ";
++punct;
}
if(isalpha(i)) {
cout << i << "<alpha ";
++alpha;
}
if(isnumber(i)) {
cout << i << "<number ";
++number;
}
if(isdigit(i)) {
cout << i << "<digit ";
++digit;
}
if(isgraph(i)) {
cout << i << "<graph ";
++graf;
}
if(isspace(i))
++space;
}
cout << endl << "There is " << endl;
cout << punct << " puncts," << endl;
cout << alpha << " alphas," << endl;
cout << number << " numbers," << endl;
cout << digit << " digits," << endl;
cout << graf << " graphs," << endl;
cout << space << " spaces" << endl;
cout << "in " << text << endl;
return 0;
}
部分结果:
...
5 numbers,
5 digits,
23 graphs,
2 spaces
in Hello½123, Poly౪ ໒girl0.5!!!
最佳答案
isnumber()
可能是特定于 Apple 的 C++ 方法(我手头没有 Mac 可以检查)。您可以在 Apple dev guide 中看到它:
The
isnumber()
function behaves similarly toisdigit()
, but may recognize additional characters, depending on the current locale setting.
此外,isnumber()
在 Linux 上没有声明:我在 Linux 4.7.2 上使用 g++ 6.1.1 并得到错误:
g++ a.cpp
a.cpp: In function 'int main(int, char**)':
a.cpp:20:17: error: 'isnumber' was not declared in this scope
if (isnumber(i)) {
^
我也是用clang3.8.1测试的:
clang++ a.cpp --std=c++11
a.cpp:20:7: error: use of undeclared identifier 'isnumber'
if (isnumber(i)) {
^
关于c++ - isdigit() 和 isnumber() 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39204080/
我目前正在使用 isnumber 来确定包含句子的单元格中是否存在特定单词。我正在尝试确定如何找到始终在特定单词之前或之后的数字的值。我如何操纵公式或创建一系列公式,以在“常量词”之前或之后提取“可变
我正在构建 Windows 窗体应用程序。我使用 char.IsNumber() 来检查按下的键是否是数字: private void AmBox_KeyPress(object sender,
我试图从两个工作表中找到重复的数字。表 1 是我尝试使用 MATCH 显示真假的地方。 1 .表 2 是我的 map ,其中包含项目的位置。 2 .我正在使用公式 =ISNUMBER(MATCH(E4
例如,在单元格 A1 中,我有产品代码 BW224 在 B1 中,我有 =RIGHT(A1,3)因为我只想要数字。公式的结果是 224 在 C1 中,我有 ISNUMBER(B1) ,返回 FALSE
我正在使用一个 Excel 文件。有一个列包含数字和文本,有时只是其中之一。我正在尝试编写一个函数来扫描单元格的最左侧部分以查看它是否以数字开头。我以为我拥有它,但显然没有。这就是我所拥有的: =IF
我是 C 的新手,我正在考虑如何自己编写这个函数。我从命令行获取一个参数,所以它存储在 argv 数组中,我想决定它是否是数字。最简单的方法是什么? 谢谢 #include int isNumber
以我有限的经验,我参与过的几个项目都有某种字符串实用程序类,这些类具有确定给定字符串是否为数字的方法。想法一直是一样的,但是实现却不同。有些用 try/catch 包围解析尝试 public bool
我正在尝试计算以下范围是否为 "Y"或 "S"并包含数字。我正在尝试排除以 "_PVxxxxx_" 开头的单元格. 我不能用 COUNTIFS($A:$A,">0",$B:$B,"Y") + COUN
所以我有这个程序;从远程系统扫描值。有时,如果网络出现故障,它可能会超时,并且会出现 #nan 错误或类似的东西。 当我尝试将该错误消息写入数据库时;因为它正在寻找一个数值,所以它会因为“数据类型
我只想对两个单元格求和(如果至少其中一个是有效数字),或者如果两个单元格都不是有效数字则显示空白。做这个的最好方式是什么?我已阅读有关 SUMPRODUCT 的内容并尝试使用 ISERROR 但无济于
此公式在单元格 I3 内查找字符串“BFA”。如果找到,则返回“BFA”;如果不是,则返回“No”。 =IF(ISNUMBER(SEARCH("BFA",I3)),"BFA","No") 如何修改它以
这个问题在这里已经有了答案: Validate decimal numbers in JavaScript - IsNumeric() (52 个答案) 关闭 9 年前。 我的猜测是: functi
为什么 "".All(char.IsNumber) 返回 true?根据方法总结,All()方法: Determines whether all elements of a sequence sati
看起来 AngularJS 的 angular.isNumber 没有工作。它不适用于数字字符串。难道我做错了什么?我应该只使用 isNaN() 吗? angular.isNumber('95.55'
我的 ctype.h 中有函数 isnumber()。我在 http://www.cplusplus.com/reference/cctype/ 中都没有的书中找不到此函数的引用资料供咨询。我打算通过
如何在 JSTL 中做这个简单的检查(不扩展任何 Java 类和额外的 JSP 函数)。我需要这样: // do something 提前致谢。 最佳答案 如果您的环境支持在 EL 对象上
假设单元格 A1 的日期为:2017 年 1 月 1 日。 然后下面的宏给出了不同的结果: 第一个 - 正确 第二个 - 错误。 造成这种差异的原因是什么?我应该如何正确使用IsNumeric? Su
在underscore.js中,下面的代码好像是加了_.isNumber() // Add some isType methods: isArguments, isFunction, isStri
我正在尝试根据内容将excel中的单列数字转换为多列。 例如表 1 包含 1 列,其中包含 1 个或多个 1 到 11 之间的数字,用逗号分隔。表 2 应包含 11 列,其中 1 或 0 取决于表 1
我是 Angular 的新手。我正在尝试根据某些条件切换 div : {{getName(row)}}
我是一名优秀的程序员,十分优秀!