C++中如何实现将数字转换成字符串?

我按照网上找的方法.
template<typename T>
string num2str(const T val)
{
istringstream iss;
iss << "" << val;

retrun iss.str();
}
出现如下错误:
error C2784: 'std::basic_ostream<_Elem,_Traits> &std::operator <<(std::basic_ostream<_Elem,_Traits> &,const char *)' : could not deduce template argument for 'std::basic_ostream<_Elem,_Traits> &' from 'std::istringstream'
求指导.

    你需要 

    #include <sstream>
    using namespace std;

    template<typename T>

string num2str(const T val)
{
    ostringstream oss;       // 不是 istringstream
    oss << val;
    return oss.str() ;           // 你的 return 也写错了.
}
int main()
{
     string s = num2str(1023.32);
     cout << s << endl;
    return 0;
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-05-29

去查ASCII表,比如数字6,加上48,转换成char就是'6'

int a = 6;
char aa = a + 48;
printf("%c\n\n", aa);

第2个回答  2015-05-29
你需要重载操作符"<<"
相似回答