中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

C++如何判斷輸入的是不是數字

c++
小億
747
2023-12-04 16:46:29
欄目: 編程語言

在C++中,可以使用以下方法來判斷輸入的是否為數字:

  1. 使用isdigit()函數:isdigit()函數是C++標準庫中的一個函數,用于判斷一個字符是否為數字字符。可以使用該函數逐個判斷輸入字符串中的每個字符是否為數字字符。
#include <iostream>
#include <cctype> // 包含isdigit()函數的頭文件

int main() {
    std::string input;
    std::cout << "請輸入一個字符串:";
    std::cin >> input;

    bool isNumber = true;
    for (char c : input) {
        if (!std::isdigit(c)) {
            isNumber = false;
            break;
        }
    }

    if (isNumber) {
        std::cout << "輸入的是數字。\n";
    } else {
        std::cout << "輸入的不是數字。\n";
    }

    return 0;
}
  1. 使用try-catch語句:可以嘗試將輸入的字符串轉換為數字,如果轉換成功則說明輸入的是數字,否則就不是數字。這可以通過捕獲std::invalid_argument或std::out_of_range異常來實現。
#include <iostream>
#include <string>
#include <stdexcept> // 包含std::invalid_argument和std::out_of_range異常的頭文件

int main() {
    std::string input;
    std::cout << "請輸入一個字符串:";
    std::cin >> input;

    try {
        double number = std::stod(input);
        std::cout << "輸入的是數字。\n";
    } catch (const std::invalid_argument& ia) {
        std::cout << "輸入的不是數字。\n";
    } catch (const std::out_of_range& oor) {
        std::cout << "輸入的數字超出范圍。\n";
    }

    return 0;
}

上述方法中,第一種方法適用于判斷輸入是否為整數或小數,第二種方法適用于判斷輸入是否為任意浮點數(包括整數和小數),但有一定的性能開銷。根據具體需求選擇合適的方法。

0
南江县| 武隆县| 康保县| 竹山县| 富民县| 曲松县| 天柱县| 祁东县| 南通市| 北安市| 若羌县| 盈江县| 三明市| 迁安市| 黔江区| 庆云县| 娱乐| 资兴市| 河曲县| 威远县| 乌鲁木齐市| 阳原县| 延寿县| 江北区| 道孚县| 南宁市| 沾益县| 绥德县| 西昌市| 宜良县| 扶沟县| 田阳县| 宿松县| 沂南县| 太仆寺旗| 昆山市| 巨鹿县| 循化| 榕江县| 岑溪市| 铁岭市|