bool isIntNum(const string&str, const bool& bIsHex)
{
if (str.empty()) return false;
auto it = str.begin();
if (str.at(0) == '-' && str.size() > 1)
{
++it;
}
for (; it != str.end(); ++it)
{
if (bIsHex)
{
if ((*it) >= 'A' && (*it) <= 'F' || (*it) >= '0' && (*it) <= '9' || (*it) >= 'a' && (*it) <= 'f') continue;
else return false;
}
else
{
if ((*it) < '0' || (*it) > '9') return false;
}
}
return true;
}
bool isFloatNum(const string& str)
{
if (str.empty()) return false;
auto it = str.begin();
if (str.at(0) == '-' && str.size() > 1)
{
++it;
}
if (count(str.begin(), str.end(), '.') > 1)
{
return false;
}
for (; it != str.end(); ++it)
{
if (((*it) < '0' || (*it) > '9') && (*it) != '.') return false;
}
return true;
}