转自:http://blog.csdn.net/Vic___/article/details/9324897

string 转 long

那必须是万年atoi(),不过得配合c_str()使用!

[plain] view plain copy
  1. #include <string>
  2. #include <iostream>
  3. #include <stdlib.h>
  4. using namespace std;
  5. int main ()
  6. {
  7. string a = "1234567890";
  8. long b = atoi(a.c_str());
  9. cout<<b<<endl;
  10. return 0;
  11. }

注意:atoi()在 stdlib.h

但是,这不是今天的重点!!!更加变态的方法,用String stream

[cpp] view plain copy
  1. long stol(string str)
  2. {
  3. long result;
  4. istringstream is(str);
  5. is >> result;
  6. return result;
  7. }

long 转 string

[cpp] view plain copy
  1. string ltos(long l)
  2. {
  3. ostringstream os;
  4. os<<l;
  5. string result;
  6. istringstream is(os.str());
  7. is>>result;
  8. return result;
  9. }

太变态的string流

测试测试所有的基础类型转换

string 转 int

[cpp] view plain copy
  1. int stoi(string str)
  2. {
  3. int result;
  4. istringstream is(str);
  5. is >> result;
  6. return result;
  7. }

通过!

string 转float

[cpp] view plain copy
  1. float stof(string str)
  2. {
  3. float result;
  4. istringstream is(str);
  5. is >> result;
  6. return result;
  7. }

通过!

string 转double

[plain] view plain copy
  1. double stod(string str)
  2. {
  3. double result;
  4. istringstream is(str);
  5. is >> result;
  6. return result;
  7. }

通过!

int 转 string

[cpp] view plain copy
  1. string itos(int i)
  2. {
  3. ostringstream os;
  4. os<<i;
  5. string result;
  6. istringstream is(os.str());
  7. is>>result;
  8. return result;
  9. }

通过!

float 转 string

[cpp] view plain copy
  1. string ftos(float f)
  2. {
  3. ostringstream os;
  4. os<<f;
  5. string result;
  6. istringstream is(os.str());
  7. is>>result;
  8. return result;
  9. }

通过!

double 转 string

[cpp] view plain copy
  1. string dtos(double d)
  2. {
  3. ostringstream os;
  4. os<<d;
  5. string result;
  6. istringstream is(os.str());
  7. is>>result;
  8. return result;
  9. }

通过!

* 转string

[cpp] view plain copy
  1. string *tos(* i)     //改一下函数名,改一下类型,搞定
  2. {
  3. ostringstream os;
  4. os<<i;
  5. string result;
  6. istringstream is(os.str());
  7. is>>result;
  8. return result;
  9. }

将*换成想要的类型就可以执行 *转string

string 转 *

[cpp] view plain copy
  1. * sto*(string str) //改一下函数名,变量类型,搞定
  2. {
  3. * result;
  4. istringstream is(str);
  5. is >> result;
  6. return result;
  7. }

将*换成想要的类型就可以执行 string转*

也可以重载函数,达到万能函数转换

记得包含头文件#include <sstream>

总结:使用string 流和标准io流其实本身就是流,一个原理的,不同调用方法。

转:C++ string的万能转换相关推荐

  1. C++ string的万能转换,从long string 之间的转换来看看

    原文地址 http://blog.csdn.net/vic___/article/details/9324897 我一直是不喜欢一个一个字符计算转化的人,虽说做过ACM,打这段代码会很快,但是我依然选 ...

  2. C++ 万能转换函数:不限string转double,也不限double转string

    还在为C++中各种类型转换而苦恼吗?下列是一个万能转换函数,可以根据接受的数据类型来进行转换,非常非常方便! template<class T = std::string, class U> ...

  3. C#中char[]与string之间的转换

    C#中char[]与string之间的转换 原文:C#中char[]与string之间的转换 string 转换成 Char[] string ss = "abcdefg"; ch ...

  4. 第三次学JAVA再学不好就吃翔(part51)--String类的转换功能

    学习笔记,仅供参考 文章目录 String类 String类的转换功能 getBytes方法 toCharArray方法 valueOf方法 toLowerCase方法 toUpperCase方法 c ...

  5. WPF Color、String、Brush转换

    WPF Color.String.Brush转换 原文:WPF Color.String.Brush转换 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.ne ...

  6. enum与int、String之间的转换

    enum与int.String之间的转换 enum<->int enum -> int: int i = enumType.value.ordinal(); int -> en ...

  7. String int之间转换

    String int之间转换

  8. (转)C# Enum,Int,String的互相转换 枚举转换

    (转)C# Enum,Int,String的互相转换 枚举转换 Enum为枚举提供基类,其基础类型可以是除 Char 外的任何整型.如果没有显式声明基础类型,则使用 Int32.编程语言通常提供语法来 ...

  9. Java学习(4)—— 布尔类型、基本数据类型转换、基本数据类型和String类型的转换

    布尔类型 也叫Boolean类型,boolean只允许取true和false. boolean占一个字节. 适用于逻辑运算,流程控制语句. 有默认类型,是false.但是应该声明为成员变量或是静态变量 ...

最新文章

  1. redis之 centos 6.7 下安装 redis-3.2.5
  2. HackTheGame 攻略 - 第三关
  3. ubuntu14.04安装CUDA8.0
  4. vs开发人员命令查看C++类 data member 内存布局
  5. “互联网+医疗健康” 行业调研报告
  6. 数据库之间数据转换最快方法
  7. 自定义C++异常处理
  8. [Java] 蓝桥杯ALGO-100 算法训练 整除问题
  9. 1.4.2 真正的建造者模式(3.2)
  10. GitHub提交代码后不显示用户名只显示邮箱
  11. 九九乘法表(c语言)
  12. 计算机考研复试面试题整理
  13. BP神经网络python代码实现
  14. MySQL 8.0.19安装教程(windows 64位)
  15. 软件测试方法(单元测试、集成测试、系统测试、确认测试)
  16. 大数据基础课第一课 Hadoop详解
  17. mysql.sock文件的作用
  18. Connect Four四子棋c++程序 - 用户交互(1)
  19. python的label属性_python内置GUI库tkinter——Label类属性
  20. cad直线和圆弧倒角不相切_CAD中圆角(fillet)与倒角(chamfer)的技巧总结

热门文章

  1. Could not load type 'System.DateTimeOffset'的问题
  2. [转载] Python3入门精通基础教程(合集)
  3. 浏览器提取已安装扩展教程
  4. 从后台获取的数据渲染到页面中的dom操作
  5. 做一枚精致的程序猿,Fighting!
  6. Wpf ListBox数据绑定实例1--绑定字典集合
  7. ecshop添加商品选择品牌时如何按拼音排序
  8. Install Java on Ubuntu server
  9. 路直路弯,面对挫折脚步不放慢
  10. pytorch---之torch.manual_seed()