本文共 736 字,大约阅读时间需要 2 分钟。
Validate if a given string is numeric.
Some examples:
“0” => true ” 0.1 ” => true “abc” => false “1 a” => false “2e10” => true刷了快一个小时,没有什么算法技巧,就是判断,要判断的临界条件太多了。代码表示的很清楚,直接看代码吧。
bool isNumber(char* s) { int len = strlen(s); if(len == 0) return false; int i = 0; while(s[i] == ' ' && i= '0' && s[i] <='9'){ if(space) return false; if(!e) first = true; else second = true; }else if(s[i] == '+' || s[i] == '-'){ if(space) return false; if(!e || !(s[i-1] == 'e' || s[i-1] == 'E')) return false; }else return false; i++; } if(!first) return false; else if(e && !second) return false; else return true;}
是不是看了之后有点蒙,一定要小心各种临界条件。
转载地址:http://rjtsi.baihongyu.com/