文档章节

使用 stringstream 进行类型转换

o
 osc_g8254g7s
发布于 2019/08/19 17:52
字数 253
阅读 37
收藏 0

精选30+云产品,助力企业轻松上云!>>>

如何用使用stringstream进行类型转换:

1. 下面例子为整型和sting类型的相互转换示例

整型转换为字符串类型

string NumberToString(int num)
{
    stringstream ss;
    ss<<num;   //像流中传值
    string result;
    ss>>result;  //将流中的值写入到result
    return result;
}

字符创类型转换为整型

int StringToNumber(string strNum)
{
    stringstream ss;
    ss<<strNum;
    int result;
    ss>>result;
    return result;
}

编译期就确定了num,result,strNum的类型,调用stringstream的时候拥有足够的信息判断来进行自动转换,并将转换结果缓存到stringstream对象的内部缓冲中

stringstream对象会根据需要自动分配内存,不用担心溢出问题.

例如:

float n = 22.22;
string strNum = "22.22";
cout<<StringToNumber(strNum)<<endl;
cout<<NumberToString(n)<<endl;

输出:22 22

 

2. 任意类型的转换

template <class output_type,class input_type>
output_type Convert(const input_type &input)
{
    stringstream ss;
    ss<<input;
    output_type result;
    ss>>result;
    return result;
}

例如:

float n = 22.22;
string strNum = "22.22";

float f = Convert<float>(strNum);
cout<<f<<endl;
string ss = Convert<string>(n);
cout<<ss<<endl;

输出: 22.22 22.22

o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。
stringstream

使用stringstream对象简化类型转换 在命名空间std中,std::stringstream。 string a="hello"; int b=10; std::stringstream stream; stream<<b; a=stream.str(); std::cout<<a<<std::endl......

代码学习者01
2014/02/22
56
0
string和stringstream用法总结

string和stringstream用法总结 一、string string 是 C++ 提供的字串型態,和 C 的字串相比,除了有不限长度的优点外,还有其他许多方便的功能。要使用 string, 必須先加入这一行: #inclu...

推荐码发放
2018/08/02
0
0
初识 istringstream、ostringstream、stringstream 运用

今天编程练习时遇到了istringstream的用法,感觉很实用。后面附题目! C++的输入输出分为三种: (1)基于控制台的I/O (2)基于文件的I/O (3)基于字符串的I/O 1、头文件 #include <sstream> 2、...

ranjiewen
2016/11/03
4
0
c++中几种常见的类型转换。int与string的转换,float与string的转换以及string和long类型之间的相互转换。to_string函数的实现和应用。

1.string转换为int a.采用标准库中atoi函数,对于float和龙类型也都有相应的标准库函数,比如浮点型atof(),long型atol()。 他的主要功能是将一个字符串转化为一个数字,在实践应用的时候需要注...

osc_x5bcobu8
2018/11/18
4
0
注意使用stringstream时的清空操作

在C++中可以使用stringstream来很方便的进行类型转换,字符串串接,不过注意重复使用同一个stringstream对象时要先继续清空,而清空很容易想到是clear方法,而在stringstream中这个方法实际上...

Yong_Luo
2013/04/06
477
0

没有更多内容

加载失败,请刷新页面

加载更多

在Bash脚本中,如果发生某种情况,如何退出整个脚本?

问题: I'm writing a script in Bash to test some code. 我正在Bash中编写脚本来测试一些代码。 However, it seems silly to run the tests if compiling the code fails in the first pl......

技术盛宴
25分钟前
11
0
Windows安装Python+OpenCV

1、更新PyCharm中pip来源,使用清华和阿里云:https://pypi.tuna.tsinghua.edu.cn/simple/ http://mirrors.aliyun.com/pypi/simple/ 2、PyCharm查看已安装packets,添加新的安装包,从pip云端...

极客行
49分钟前
17
0
tomcat8配置虚拟目录,实现一个tomcat运行两个项目, tomcat配置URL不区分大小写

<?xml version="1.0" encoding="UTF-8"?><!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distri......

青峰Jun19er
55分钟前
19
0
HBase和MySQL存储方式的差别?或者说是,行存储和列存储的区别?

HBase借鉴列存储的思想,但是最底层依然是依靠键值对来存储数据,HBase为非关系型数据库 而MySQL则是行存储,MySQL为关系型数据库 写过程 行存储因为数据是连续的,所以只需要进行追加即可;...

其乐m
59分钟前
25
0
一个老程序员在互联网寒冬下的感悟

1. 你千万不要认为学习技术就可以换来稳定的生活和高的薪水待遇,你更不要认为那些从事市场开发,跑腿的人,没有前途。 不清楚你是不是知道,咱们中国有相当大的一部分软件公司,他们的软件开...

北柠Java
今天
39
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部