C++ string 与 int 等类型 的相互转换

看到网上有许多关于这个的实现,而且会涉及到细节的处理。为了以后方便的使用,在此提供可以直接可以使用的函数。

参考资料:

1:讲解C++ stringstream(细节):http://blog.csdn.net/leonardwang/article/details/4881122

2:C++模板(很详细,有例子):http://www.cnblogs.com/gaojun/archive/2010/09/10/1823354.html

 1 #include <iostream>
 2 #include <sstream>
 3 using namespace std;
 4
 5
 6 //由于stringstream构造、解析函数很耗时,所以尽量只创建一个。
 7 template <class Type>    // 要与string转换的类型
 8 Type stringAndType(Type strTmp) {    // string 与 其他类型 互相转换
 9     stringstream stream;
10     stream << strTmp;
11     Type TypeTmp;
12     stream >> TypeTmp;
13     stream.clear(); // 只是重置了stringstream的状态标志,并没有清空数据
14     stream.str(""); // 清空数据
15     return TypeTmp;
16 }
17
18 int main() {    // 测试
19
20     string strTmp;
21     int intTmp;
22     __int64 int64Tmp;
23     double dbeTmp;
24
25     while (true) {
26         cout << "----- int to string -----" << endl;
27         cin >> intTmp;
28         cout << stringAndType(intTmp) << endl;
29         cout << "----- string to int -----" << endl;
30         cin >> strTmp;
31         cout << stringAndType(strTmp) << endl;
32
33
34         cout << "----- double to string -----" << endl;
35         cin >> dbeTmp;
36         cout << stringAndType(dbeTmp) << endl;
37         cout << "----- string to double -----" << endl;
38         cin >> strTmp;
39         cout << stringAndType(strTmp) << endl;
40
41
42         cout << "----- int64 to string -----" << endl;
43         cin >> int64Tmp;
44         cout << stringAndType(int64Tmp) << endl;
45         cout << "----- string to int64 -----" << endl;
46         cin >> strTmp;
47         cout << stringAndType(strTmp) << endl;
48         cout << "--------------------------end-------------------------" << endl;
49     }
50     return 0;
51 }
时间: 2024-11-10 13:54:44

C++ string 与 int 等类型 的相互转换的相关文章

swift 中String,Int 等类型使用注意,整理中

swfit中的String和Int是 struct定义的,不同于NSString和NSNumber, 如果想在一个数组中同时包含String和Int,那么这个数组要声明为[Any] 而不是 [AnyObject] , 因为他们不是class! 另外,与c中的string和int 不同,swfit中的是struct,虽然在使用上,可以把Int当做int使用,它代表了基本的整型,可以达到c中的int的功能,但是数据结构上是不同的,具体来说,

String类型和Date类型的相互转换

1 import java.text.DateFormat; 2 import java.text.ParseException; 3 import java.text.SimpleDateFormat; 4 5 6 //String--->Date 7 String str1 = "2011-5-31 14:40:50"; 8 DateFormat df = DateFormat.getDateInstance(); 9 Date date; 10 try { 11 date

String,Integer,int类型之间的相互转换

String, Integer, int 三种类型之间可以两两进行转换 1. 基本数据类型到包装数据类型的转换 int -> Integer (两种方法) Integer it1 = new Integer(int a); //封装的基本原理 Integer it2 = Integer.valueOf(int a); int -> String String s2=10+""; 2.  包装数据类型到基本数据类型的转换 String -> int int i4=Int

C++ 中 string, char*, int 类型的相互转换

1.string到int的转换 1) 在 C 标准库里面,使用 atoi: #include <cstdlib> #include <string> std::string text = "152"; int number = std::atoi( text.c_str() ); if (errno == ERANGE) //可能是std::errno { //number可能由于过大或过小而不能完全存储 } else if (errno == ????) //

C++语法小记---string和int的相互转换

string和int的相互转换 string转int 1 istringstream is("12"); //构造输入字符串流,流的内容初始化为“12”的字符串 2 int i; 3 is >> i; //从is流中读入一个int整数存入i中 int转string 1 int aa = 30; 2 stringstream ss; 3 ss<<aa; 4 string s1 = ss.str(); 5 cout<<s1<<endl; //

C++ - string类型转换int类型

string类型转换int类型 本文地址: http://blog.csdn.net/caroline_wendy C语言转换形式: ... std::string str; int i = atoi(str.c_str()); ... C++转换形式(C++11): ... std::string str; int i = std::stoi(str); ... 同样, 可以使用 stol(long), stof(float), stod(double) 等. 参考: http://en.cp

Item 30 用enum代替int常量类型枚举,string常量类型枚举

1.用枚举类型替代int枚举类型和string枚举类型 public class Show { // Int枚举类型 // public static final int APPLE_FUJI = 0; // public static final int APPLE_PIPPIN = 1; // public static final int APPLE_GRANNY_SMITH = 2; public enum Apple { FUJI, PIPPIN, GRANNY_SMITH } pub

Convert integer to string(int类型转化为string类型)

译: 这是一个常见的问题,但是对于这个问题我没有找到一个很好的方法:如何将整数类型转化为字符串类型?我遇到过几种解决方案.我不会使用stringstream.sprintf()函数也遇到了问题,并且它是C语言的风格.函数itoa()以前工作地很好,但参考文档说: 这个函数在ANSI-C中没有被定义,并且它不是C++的一部分,但有些编译器支持 并且这个函数也是C语言风格. 我自己写了一个C++风格的函数,并且它工作起来没有错误(译者注:我不这么认为,详见后文). string convertInt

JavaSE 日期类型与字符串类型的相互转换

package cn.zwq.convert; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; /** * 日期类型与字符串类型的相互转换 * * @author zwq * @version V1.0 * @Date 2016年10月11日 下午8:28:04 * */ public class DateConvert { public static void