前言
现代C++
中的判断一个字符串是否是一个数字。
一、包含算法库头文件
#include <algorithm>
二、废话不多说,直接上代码
使用算法库中的all_of
方法判断字符串中所有成员都是数字。
bool isDigit(const std::string& str)
{
return !str.empty() && std::all_of(str.begin(), str.end(), ::isdigit);
}
三、验证
在main中写下如下代码
int main(int argc, char* argv[])
{
std::string s { "QWERTYUIOP" };
std::cout << "s is a number ? " << std::boolalpha << isDigit(s) << std::endl;
std::string s1 = "1234567";
std::cout << "s1 is a number ? " << std::boolalpha << isDigit(s1) << std::endl;
std::string s2;
std::cout << "s2 is a number ? " << std::boolalpha << isDigit(s2) << std::endl;
return 0;
}
编译执行g++ test.cpp -o test && ./test
结果如下
判断成功!!!
四、完整代码
#include <algorithm>
#include <iostream>
#include <string>
bool isDigit(const std::string& str)
{
return !str.empty() && std::all_of(str.begin(), str.end(), ::isdigit);
}
int main(int argc, char* argv[])
{
std::string s { "QWERTYUIOP" };
std::cout << "s is a number ? " << std::boolalpha << isDigit(s) << std::endl;
std::string s1 = "1234567";
std::cout << "s1 is a number ? " << std::boolalpha << isDigit(s1) << std::endl;
std::string s2;
std::cout << "s2 is a number ? " << std::boolalpha << isDigit(s2) << std::endl;
return 0;
}
五、总结
本文介绍一种现代C++中判断字符串是否是数字的方法,亲测可用!!!