目前只有C++11标准下才支持to_string
因此在低版本的编译器环境下 可以通过模板函数自己构建一个to_string
一、建立一个头文件stdtostring.h内容如下
#ifndef STDTOSTRING_H
#define STDTOSTRING_H
#include <string>
#include <sstream>
#include <iomanip>
using namespace std;
namespace std
{
template < typename T > std::string to_string( const T& n )
{
std::ostringstream stm ;
stm << fixed << setprecision(16) << n ;//这里的setprecision(16)是控制浮点数精度用的
return stm.str() ;
}
}
#endif
二、在使用to_string的文件中包含上述头文件
#include "stdtostring.h"
三、就可以随心所欲地使用了,例如
string str;
str=std::to_string((double)i*pow(2.0,0.5))+"\n";