Проверка, является ли строка действительным числом (без букв) - PullRequest
0 голосов
/ 22 ноября 2018

Итак, я написал функцию, которая проверяет, имеет ли строка числовой символ.Даже если в группе чисел всего одна буква, она должна вернуть false.Однако это не так.Я не уверен, работают ли циклы по-другому в C ++ или нет.

bool isStringAValidNumber(string str)
{
    for (int i = 0; i < str.length(); i++) {
        if (!isdigit(str[i])) {
            return false;
            break;
        }
    }
    return true;
}

1 Ответ

0 голосов
/ 23 ноября 2018
#include <iostream>
#include <string>

using namespace std;

int isStringAValidNumber(string str)
{
    for (int i = 0; i < str.length(); i++) {
        if (!isdigit(str[i])) {
            return 0;
            break;
        }
    }
    return 1;
}


int main()
{
    cout << isStringAValidNumber("1sd2345");
    cout << endl;
    cout << isStringAValidNumber("1s2345");
    cout << endl;
    cout << isStringAValidNumber("12345");
}

работает просто отлично ...

Возврат:

0
0
1

Компиляция онлайн

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...