表示数值的字符串
时间限制:1秒 空间限制:32768K 热度指数:79290 |
题目描述
时间限制:1秒 空间限制:32768K 热度指数:79290 |
题目分析
首先说明一下数值的表示法则: (1)数值的前面有一个’+’或’-’表示数值的正负 (2)数值中可能会有一个’.’用来表示小数,’.’的左边和右边为若干个数字 (3)数值中可能通过科学记数法‘e’或’E’来表示指数,但是‘e’后面只能且必须跟整数 |
代码实现
class Solution {
public:
bool isNumeric(char* string)
{
if (string == NULL)return false;
bool fHasDot = false;
if (*string == '+' || *string == '-')
string++;
while (*string)
{
if (!fHasDot && *string == '.')
fHasDot = true;
else if (*string == 'e' || *string == 'E')
{
string++;
if (*string == '+' || *string == '-')
string++;
if(*string == '\0')
return false;
while (*string)
{
if (*string < '0' || *string > '9')
return false;
string++;
}
break;
}
else if (*string < '0' || *string > '9')
return false;
string++;
}
return true;
}
};