Delete str2num.h
This commit is contained in:
parent
5adc681f79
commit
b19761e36c
60
str2num.h
60
str2num.h
|
@ -1,60 +0,0 @@
|
|||
#ifndef __STR2NUM_H__
|
||||
#define __STR2NUM_H__
|
||||
|
||||
#include <iostream>
|
||||
#include <cstring>
|
||||
|
||||
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."<<std::endl;
|
||||
return;
|
||||
}
|
||||
|
||||
bool isFloat=false;
|
||||
int DotPlace=0;
|
||||
for(int i=0;i<(int)str.length();++i)
|
||||
if(str[i]=='.')
|
||||
{
|
||||
isFloat=true;
|
||||
DotPlace=i;
|
||||
break;
|
||||
}
|
||||
if(!isFloat)
|
||||
{
|
||||
long long int num=0;
|
||||
long long int acc=1;
|
||||
for(int i=(int)str.length()-1;i>=0;--i)
|
||||
{
|
||||
num+=acc*((long long int)(str[i]-'0'));
|
||||
acc*=10;
|
||||
}
|
||||
std::cout<<num<<std::endl;
|
||||
}
|
||||
else
|
||||
{
|
||||
double num=0;
|
||||
double acc=1;
|
||||
double aff=0.1;
|
||||
for(int i=DotPlace+1;i<(int)str.length();++i)
|
||||
{
|
||||
num+=aff*((double)(str[i]-'0'));
|
||||
aff*=0.1;
|
||||
}
|
||||
for(int i=DotPlace-1;i>=0;--i)
|
||||
{
|
||||
num+=acc*((double)(str[i]-'0'));
|
||||
acc*=10;
|
||||
}
|
||||
std::cout<<num<<std::endl;
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
}
|
||||
#endif
|
Loading…
Reference in New Issue