转:C++ string的万能转换
转自:http://blog.csdn.net/Vic___/article/details/9324897
string 转 long
那必须是万年atoi(),不过得配合c_str()使用!
- #include <string>
- #include <iostream>
- #include <stdlib.h>
- using namespace std;
- int main ()
- {
- string a = "1234567890";
- long b = atoi(a.c_str());
- cout<<b<<endl;
- return 0;
- }
注意:atoi()在 stdlib.h
但是,这不是今天的重点!!!更加变态的方法,用String stream
- long stol(string str)
- {
- long result;
- istringstream is(str);
- is >> result;
- return result;
- }
long 转 string
- string ltos(long l)
- {
- ostringstream os;
- os<<l;
- string result;
- istringstream is(os.str());
- is>>result;
- return result;
- }
太变态的string流
测试测试所有的基础类型转换
string 转 int
- int stoi(string str)
- {
- int result;
- istringstream is(str);
- is >> result;
- return result;
- }
通过!
string 转float
- float stof(string str)
- {
- float result;
- istringstream is(str);
- is >> result;
- return result;
- }
通过!
string 转double
- double stod(string str)
- {
- double result;
- istringstream is(str);
- is >> result;
- return result;
- }
通过!
int 转 string
- string itos(int i)
- {
- ostringstream os;
- os<<i;
- string result;
- istringstream is(os.str());
- is>>result;
- return result;
- }
通过!
float 转 string
- string ftos(float f)
- {
- ostringstream os;
- os<<f;
- string result;
- istringstream is(os.str());
- is>>result;
- return result;
- }
通过!
double 转 string
- string dtos(double d)
- {
- ostringstream os;
- os<<d;
- string result;
- istringstream is(os.str());
- is>>result;
- return result;
- }
通过!
* 转string
- string *tos(* i) //改一下函数名,改一下类型,搞定
- {
- ostringstream os;
- os<<i;
- string result;
- istringstream is(os.str());
- is>>result;
- return result;
- }
将*换成想要的类型就可以执行 *转string
string 转 *
- * sto*(string str) //改一下函数名,变量类型,搞定
- {
- * result;
- istringstream is(str);
- is >> result;
- return result;
- }
将*换成想要的类型就可以执行 string转*
也可以重载函数,达到万能函数转换
记得包含头文件#include <sstream>
总结:使用string 流和标准io流其实本身就是流,一个原理的,不同调用方法。
转:C++ string的万能转换相关推荐
- C++ string的万能转换,从long string 之间的转换来看看
原文地址 http://blog.csdn.net/vic___/article/details/9324897 我一直是不喜欢一个一个字符计算转化的人,虽说做过ACM,打这段代码会很快,但是我依然选 ...
- C++ 万能转换函数:不限string转double,也不限double转string
还在为C++中各种类型转换而苦恼吗?下列是一个万能转换函数,可以根据接受的数据类型来进行转换,非常非常方便! template<class T = std::string, class U> ...
- C#中char[]与string之间的转换
C#中char[]与string之间的转换 原文:C#中char[]与string之间的转换 string 转换成 Char[] string ss = "abcdefg"; ch ...
- 第三次学JAVA再学不好就吃翔(part51)--String类的转换功能
学习笔记,仅供参考 文章目录 String类 String类的转换功能 getBytes方法 toCharArray方法 valueOf方法 toLowerCase方法 toUpperCase方法 c ...
- WPF Color、String、Brush转换
WPF Color.String.Brush转换 原文:WPF Color.String.Brush转换 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.ne ...
- enum与int、String之间的转换
enum与int.String之间的转换 enum<->int enum -> int: int i = enumType.value.ordinal(); int -> en ...
- String int之间转换
String int之间转换
- (转)C# Enum,Int,String的互相转换 枚举转换
(转)C# Enum,Int,String的互相转换 枚举转换 Enum为枚举提供基类,其基础类型可以是除 Char 外的任何整型.如果没有显式声明基础类型,则使用 Int32.编程语言通常提供语法来 ...
- Java学习(4)—— 布尔类型、基本数据类型转换、基本数据类型和String类型的转换
布尔类型 也叫Boolean类型,boolean只允许取true和false. boolean占一个字节. 适用于逻辑运算,流程控制语句. 有默认类型,是false.但是应该声明为成员变量或是静态变量 ...
最新文章
- redis之 centos 6.7 下安装 redis-3.2.5
- HackTheGame 攻略 - 第三关
- ubuntu14.04安装CUDA8.0
- vs开发人员命令查看C++类 data member 内存布局
- “互联网+医疗健康” 行业调研报告
- 数据库之间数据转换最快方法
- 自定义C++异常处理
- [Java] 蓝桥杯ALGO-100 算法训练 整除问题
- 1.4.2 真正的建造者模式(3.2)
- GitHub提交代码后不显示用户名只显示邮箱
- 九九乘法表(c语言)
- 计算机考研复试面试题整理
- BP神经网络python代码实现
- MySQL 8.0.19安装教程(windows 64位)
- 软件测试方法(单元测试、集成测试、系统测试、确认测试)
- 大数据基础课第一课 Hadoop详解
- mysql.sock文件的作用
- Connect Four四子棋c++程序 - 用户交互(1)
- python的label属性_python内置GUI库tkinter——Label类属性
- cad直线和圆弧倒角不相切_CAD中圆角(fillet)与倒角(chamfer)的技巧总结