测试代码
#include<string>
#include<iostream>
#include<sstream>
using namespace std;
//数据类型转换模板函数
template <class Type>
Type stringToNum(const string str)
{
istringstream iss(str);
Type num;
iss >> num;
return num;
}
int main()
{
string a="3.2";
string b="4.33";
string c="5";
double d0 = stringToNum<double>(a);
float d1 = stringToNum<float>(b);
int d2 = stringToNum<int>(c);
cout<<"string转换为double:"<<d0<<endl;
cout<<"string转换为float:"<<d1<<endl;
cout<<"string转换为int:"<<d2<<endl;
return 0;
}
测试结果
备注:对于数据精度要求高的话,可以不用cout输出,而是利用printf(c语言中的输出函数)