14#include "tpcclibConfig.h"
38 if(s==NULL ||
strnlen(s, 256)<1)
return 0;
43 if(*p==
'+' || *p==
'-') p++;
45 i=strspn(p,
"0123456789"); nn+=i; p+=i;
46 if(!*p) {
if(nn>0)
return 1;
else return 0;}
48 if(*p==
'.' || *p==
',') p++;
49 if(!*p) {
if(nn>0)
return 1;
else return 0;}
51 i=strspn(p,
"0123456789"); nn+=i; p+=i;
56 if(*p==
'E' || *p==
'e') p++;
else return 0;
58 if(*p==
'+' || *p==
'-') p++;
60 i=strspn(p,
"0123456789");
if(i<1)
return 0;
63 if(!*p)
return 1;
else return 0;
80 char *p; p=strchr(s,
',');
if(p==NULL)
return atof(s);
81 char *s2=
strdup(s); p=strchr(s2,
','); *p=
'.';
82 double t=atof(s2); free(s2);
return t;
100 if(v!=NULL) *v=nan(
"");
101 if(s==NULL)
return 1;
103 char *p; p=strchr(s,
',');
if(p==NULL) {*v=atof(s);
return 0;}
104 char *s2=
strdup(s); p=strchr(s2,
','); *p=
'.';
105 *v=atof(s2); free(s2);
return 0;
119 if(s==NULL)
return(0);
120 if(strchr(s,
'.')!=NULL)
return(0);
121 if(strchr(s,
',')!=NULL)
return(1);
136 if(s==NULL)
return(0);
137 if(strchr(s,
'.')!=NULL)
return(1);
138 if(strchr(s,
',')!=NULL)
return(2);
161 if(x==NULL || maxn<=0)
return(-1);
162 for(
int i=0; i<maxn; i++) x[i]=nan(
"");
163 if(s1==NULL || s2==NULL)
return(0);
167 n=
strTokenNr((
char*)s1, s2);
if(n<1)
return(0);
171 for(i=0; i<n && i<maxn; i++) {
double atofVerified(const char *s)
int strHaveDecimalComma(const char *s)
int atofCheck(const char *s, double *v)
int atofList(const char *s1, const char *s2, double *x, int maxn)
int strHaveDecimalSeparator(const char *s)
int strIsValidNumber(const char *s)
int strTokenNr(const char *s1, const char *s2)
char * strdup(const char *s)
size_t strnlen(const char *s, size_t n)
int strTokenNCpy(const char *s1, const char *s2, int i, char *s3, int count)
Header file for library libtpcextensions.