我一直在寻找一种方法来确定我的字符串值是否是一个有效的双倍,而我还没有找到一种方法也不会拒绝一个带有一个点的数字...
在我的搜索中,我找到了这个
而Charles Salvia给出的答案是
bool is_number(const std::string& s)
{
std::string::const_iterator it = s.begin();
while (it != s.end() && std::isdigit(*it)) ++it;
return !s.empty() && it == s.end();
}
Run Code Online (Sandbox Code Playgroud)
这适用于任何没有点的数字,但有点的数字会被拒绝...