| Return Type | Function name | Arguments |
|---|---|---|
| bool | IsDouble | (double&,const char*,) |
Declared in file: hzTextproc.h
Defined in file : hzTypes.cpp
Function Logic:
Function body:
bool IsDouble (double& nVal, const char* tok)
{
_hzfunc("IsDouble") ;
const char* i = tok ;
double val = 0.0;
double pt_pos = 0.0;
bool bNeg = false ;
if (!tok || !tok[0])
return false ;
for (i = tok ; *i == CHAR_SPACE ; i++) ;
if (*i == CHAR_MINUS)
{ bNeg = true ; i++ ; }
if (*i == CHAR_PLUS)
{
if (bNeg)
return false ;
i++ ;
}
for (; *i == CHAR_SPACE ; i++) ;
for (; *i ; i++)
{
if (!(chartype[*i] & CTYPE_DIGIT))
{
if (*i != CHAR_PERIOD)
return false ;
if (pt_pos)
return false ;
pt_pos = 1.0;
}
val *= 10.0;
val += (double) (*i - CHAR_0) ;
pt_pos *= 10.0;
}
nVal = (val / pt_pos) ;
if (bNeg)
nVal *= -1.0;
return true ;
}