Вот функция C++, которая проверяет, является ли строка числом, используя несколько подходов:
Метод 1: использование стандартных библиотечных функций
#include <string>
#include <cctype>
bool isNumber(const std::string& str) {
for (char c : str) {
if (!std::isdigit(c)) {
return false;
}
}
return true;
}
Метод 2: использование регулярных выражений
#include <regex>
bool isNumber(const std::string& str) {
std::regex numberRegex("[0-9]+");
return std::regex_match(str, numberRegex);
}
Метод 3. Использование собственной логики
bool isNumber(const std::string& str) {
for (char c : str) {
if (c < '0' || c > '9') {
return false;
}
}
return true;
}
Метод 4: использование строкового потока
#include <sstream>
bool isNumber(const std::string& str) {
std::istringstream iss(str);
int number;
return (iss >> number) && iss.eof();
}
Это всего лишь несколько примеров того, как можно проверить, является ли строка числом в C++. Выбор метода зависит от ваших конкретных требований и ожидаемого формата чисел.