9 bool isSimpleFloat(
const std::string& s)
11 if (s==
"")
return false;
13 while (pos<s.size() && !std::isdigit(s[pos]) && s[pos]!=
'.')
15 if (s[pos]!=
'-' && s[pos]!=
'+')
return false;
18 if (pos>=s.size())
return false;
20 int cnt = std::count(s.begin()+pos, s.end(),
'.');
21 if (cnt>1)
return false;
24 for(size_t i=pos; i<s.size(); ++i)
25 if (!std::isdigit(s[i]))
30 if (pos == s.size() -1)
32 for(size_t i=pos; i<s.size(); ++i)
33 if (!std::isdigit(s[i]) && s[i]!=
'.')
43 size_t posE = std::min( token.find(
'e'), token.find(
'E'));
46 ExtraInfo getFloatExtraInfo(
const std::string& token);
bool isFloat(const std::string &token)