bool IsDigitAll(std::string str) {
for (int i = 0; i < str.size(); i++) {
if (!isdigit(str[i])) {
return false;
}
}
return true;
}
bool IsFloatingDigitAll(std::string str) {
for (int i = 0; i < str.size(); i++) {
std::string single_str(1, str[i]);
if (!(isdigit(str[i]) || (single_str == "-") || (single_str == "+") || (single_str == ".") ||
(single_str == "e"))) {
return false;
}
}
return true;
}
bool IsFloatingDigitAllAce(std::string str) {
double digit_data;
char char_data;
std::stringstream str_data(str);
if (!(str_data >> digit_data)) {
return false;
}
if (str_data >> char_data) { //last of the stream cannot have char data
return false;
}
return true;
}
bool IsAlphaAll(std::string str) {
for (int i = 0; i < str.size(); i++) {
if (!isalpha(str[i])) {
return false;
}
}
return true;
}
bool IsAlphaAllandUnderline(std::string str) {
for (int i = 0; i < str.size(); i++) {
std::string single_str(1, str[i]);
if (!(isalpha(str[i]) || (single_str == "_"))) {
return false;
}
}
return true;
}
bool IsAlphaAllandUnderlineAce(std::string str) {
for (char ch : str) { // c++11
if (!(isalpha(ch) || (ch == '_'))) {
return false;
}
}
return true;
}