一、atof()和strtod(char * ,char **)函数转换成double类型
头文件是stdlib.h
用double atof(char *)可以
用double strtod(char * ,char **)也可以,用这个函数时,一般第二个参数设置为NULL
#include <iostream>
#include <stdlib.h>
using namespace std;
void main()
{
char t[100]="3.14159";
double x;
x=atof(t);
cout<<x<<endl;
x=strtod(t,NULL);
cout<<x<<endl;
}
实测提示:atof()和strtod(char * ,char **)都可以实现,转换成double类型,但是strtod(char * ,char **)需要加NULL。
二,strtof()转换成float类型
三,字符串到任意类型转换,并且显示正负号
#include <iostream>
#include <sstream>
#include <typeinfo>
using namespace std;
int main()
{
double tmp;
cout << typeid(tmp).name() << endl;//用于验证tmp的类型
string str = "abcdef";
cout << typeid(str).name() << endl;
istringstream istr(str);
istr >> tmp;
cout << tmp << endl;
return 0;
}
实例详解一:http://www.cnblogs.com/lidabo/archive/2012/07/10/2584706.html