c字符串快速转浮点数
//并非博主原创,是blogspot上某博主贴出的,忘了具体链接,
//向原博主表示歉意,有机会补上链接。
//速度飞快,甚至比atof()还有快!
{
double r = 0.0;
bool neg = false;
if (*p == '-') {
neg = true;
++p;
}
while (*p >= '0' && *p <= '9') {
r = (r*10.0) + (*p - '0');
++p;
}
if (*p == '.') {
double f = 0.0;
int n = 0;
++p;
while (*p >= '0' && *p <= '9') {
f = (f*10.0) + (*p - '0');
++p;
++n;
}
r += f / std::pow(10.0, n);
}
if (neg) {
r = -r;
}
return r;
}