
Validate if a given string is numeric.
Some examples:
“0” => true
“ 0.1 “ => true
“abc” => false
“1 a” => false
“2e10” => true
Note: It is intended for the problem statement to be ambiguous. You should gather all requirements up front before implementing one.
bool isNumber(const char *s) { while(*s == ' ') s++;//消除空格 if(*s == '+' || *s == '-') s++; //检测小数点 int n_nm, p_nm; for(n_nm = 0, p_nm =0; (*s >= '0' && *s <= '9')||(*s == '.'); s++){ if(*s == '.') p_nm++; else if(*s >= '0' && *s <= '9') n_nm++; } if(p_nm > 1 || n_nm < 1) return false; //检测e if(*s == 'e' || *s == 'E'){ n_nm = 0; s++; if(*s == '+' || *s == '-')s++; while(*s >= '0' && *s <= '9'){ n_nm++; s++; } if(n_nm < 1) return false; } //消除空格 while(*s == ' ')s++; return *s == 0;}




近期评论