標題說明了一切。我想檢查一個字串是否在某處甚至包含一個數字。不知道如何做到這一點。如果有一個預先構建的函式,我仍然想要一個非正統的,很長的路要走(如果你知道我的意思)。
謝謝!
uj5u.com熱心網友回復:
如果有一個預先構建的函式,我仍然想要一個非正統的,很長的路要走(如果你知道我的意思)。
您可以只使用一個簡單的 for 回圈并檢查字串中存在的任何字符是否為數字,true如果找到則回傳,否則false:
#include <string>
#include <cctype>
// ...
bool contains_number(std::string const& s) {
for (std::string::size_type i = 0; i < s.size(); i )
if (std::isdigit(s[i]))
return true;
return false;
}
或者,如果您可以使用std::string::find_first_of().
bool contains_number(std::string const& s) {
return s.find_first_of("0123456789") != std::string::npos;
}
uj5u.com熱心網友回復:
在 iostream 中使用 std::isdigit 它將回傳 true 或 false
#include <iostream>
using namespace std;
bool isnumber(string n){
for (int i = 0;i < n.size();i ){
if (isdigit(n[i]) == 1){
return true;
}
}
return false;
}
int main(){
string n;
cin >> n;
if (isnumber(n)){
cout << "Have number in string";
}else{
cout << "Doesn't have number in string";
}
return 0 ;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/386260.html
標籤:C
