From cac0a1a5e62b299a276f15433dba06adeb7f5a29 Mon Sep 17 00:00:00 2001 From: Valk Richard Li <48872266+ValKmjolnir@users.noreply.github.com> Date: Tue, 30 Jul 2019 21:06:24 +0800 Subject: [PATCH] transfer string to number --- str2num.h | 60 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 str2num.h 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<