📅  最后修改于: 2023-12-03 15:27:11.697000             🧑  作者: Mango
在编程中,我们经常需要检查一个字符串是否为数字。C++ 中可以使用以下函数来判断一个字符串是否为数字。
bool isNumber(const string& s) {
if (s.empty()) return false;
char* endptr = 0;
strtod(s.c_str(), &endptr);
if (*endptr != '\0' || endptr == s.c_str()) {
return false;
}
return true;
}
该函数使用 strtod
函数将字符串转换为 double 类型,如果转换失败,说明该字符串不是数字。
该函数使用 const string& s
来传递参数,这意味着字符串不会被修改。
代码片段:
bool isNumber(const string& s) {
if (s.empty()) return false;
char* endptr = 0;
strtod(s.c_str(), &endptr);
if (*endptr != '\0' || endptr == s.c_str()) {
return false;
}
return true;
}
注意:该函数只能判断简单的数字字符串,即不考虑科学计数法、正负号等情况。 如果需要更复杂的数字字符串检查,请使用正则表达式。