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