(原創) 如何将int,double转std::string? (C/C++) (template)

std::string为library type,而int、double为built-in type,两者无法互转,这里使用function template的方式将int转std::string,将double转std:string。

 1/* 
 2(C) OOMusou 2006 http://oomusou.cnblogs.com
 3
 4Filename    : ArrayToVectorByConstructor.cpp
 5Compiler    : Visual C++ 8.0
 6Description : Demo how to convert any type to string.
 7Release     : 11/18/2006
 8*/

 9#include <iostream>
10#include <sstream>
11#include <string>
12
13template <class T> 
14std::string ConvertToString(T);
15
16int main() {
17  std::string s;
18
19  // Convert int to std::string
20  int i = 123;
21  s = ConvertToString(i);
22  std::cout << s << std::endl;
23
24  // Convert double to std::string
25  double d = 123.123
26  s = ConvertToString(d);
27  std::cout << s << std::endl;
28
29  return 0;
30}

31
32template <class T> 
33std::string ConvertToString(T value) {
34  std::stringstream ss;
35  ss << value;
36  return ss.str();
37}

See Also
(原創) 如何将std::string转int,double? (C/C++) (template)
(原創) 如何將int轉string? (C/C++)
(筆記) 如何將int,double轉字串? (C/C++) (C)

Reference
Bertel Brander, Midgaard, http://home20.inet.tele.dk/midgaard/tipc20050107.html

posted on 2006-10-10 21:47  真 OO无双  阅读(19636)  评论(1编辑  收藏  举报

导航