Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Lập Trình C

Cách kiểm tra input có phải số nguyên trong C/C++

Ở đây ta sẽ xem cách kiểm tra một đầu vào có phải chuỗi số nguyên hay chuỗi thường. Chuỗi số nguyên chỉ chứa ký tự trong khoảng 0–9. Giải pháp đơn giản: duyệt từng ký tự, kiểm tra xem có phải chữ số không. Nếu có, chuyển ký tự tiếp theo, ngược lại trả về false.

Ví dụ

#include <iostream>
#include <string>
#include <cctype>
using namespace std;

bool isNumeric(string str) {
    for (int i = 0; i < str.length(); i++)
        if (isdigit(str[i]) == false)
            return false; // tìm thấy ký tự không phải số, trả về false
    return true;
}

int main() {
    string str;
    cout << "Enter a string: ";
    cin >> str;
    if (isNumeric(str))
        cout << "This is a Number" << endl;
    else
        cout << "This is not a number";
    return 0;
}

Kết quả 1

Enter a string: 5687
This is a Number

Kết quả 2

Enter a string: 584asS
This is not a number