Я делаю класс с именем Double, который может преобразовывать строки в двойные и двойные в строковые.Мне нужен какой-то способ проверить, чтобы, когда пользователь вводит строку, в строке не было ничего, кроме числа.Некоторая функция bool, которая возвращает false, если строка состоит из всех чисел, и true, если в ней есть не числа.Пока что у меня есть
string test;
double d;
cout << "Enter a string: ";
cin >> test;
if(isNAN(test)) //isNAN (is Not A Number)
cout << "Your entry cannot be converted";
else
{
Double d1(test); //overloaded constructor takes a string
cout << "Your string as a double is: " << d1.toDouble() << "\n\n";
}
Я думал сделать цикл для запуска через строку и протестировать каждый символ, но это кажется большой работой.Есть ли какая-то простая функция, которая может определить, является ли какая-либо часть строки не числом?
Кроме того, я конвертирую ее, используя strstream, примерно так:Будет ли проще проверить не числа, если я сначала преобразую его?