字符串转换成double和float总结

一、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

 

 

 

你可能感兴趣的:(字符串转换成double和float总结)