我整晚都在搜索一种方法来确定我的字符串值是否是有效的double,但我没有找到一种方法,同时也不会拒绝带有点号的数字...
在我的搜索中,我发现了这个链接
而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();
}
这适用于任何没有小数点的数字,但带有小数点的数字会被拒绝...