diff --git a/str2num.h b/str2num.h new file mode 100644 index 0000000..6f86c8c --- /dev/null +++ b/str2num.h @@ -0,0 +1,60 @@ +#ifndef __STR2NUM_H__ +#define __STR2NUM_H__ + +#include +#include + +namespace nasal +{ + +void Str2Num(std::string &str) +{ + for(int i=0;i<(int)str.length();++i) + if(!(('0'<=str[i]) && (str[i]<='9') || (str[i]=='.'))) + { + std::cout<<"[Error] Non-numeric string."<=0;--i) + { + num+=acc*((long long int)(str[i]-'0')); + acc*=10; + } + std::cout<=0;--i) + { + num+=acc*((double)(str[i]-'0')); + acc*=10; + } + std::cout<