数值和字符串互相转换
废话不多说,直接看代码吧。
main.cpp文件:
#include <sstream>
using namespace std;
int main()
{
stringstream ss; //流输出
ss << "there are " << 100 << " students.";
cout << ss.str() << endl;
int intNumber = 10; //int型
ss.str("");
ss << intNumber;
cout << ss.str() << endl;
float floatNumber = 3.14159f; //float型
ss.str("");
ss << floatNumber;
cout << ss.str() << endl;
int hexNumber = 16; //16进制形式转换为字符串
ss.str("");
ss << showbase << hex << hexNumber;
cout << ss.str() << endl;
return 0;
}
输出结果如下:
there are 100 students.
10
3.14159
0x10
可以看出使用stringstream比较使用#的好处是可以格式化数字,以多种形式(比如十六进制)格式化,代码也比较简单、清晰。
同样,可以使用stringstream将字符串转换为数值:
#include <sstream>
using namespace std;
template<class T>
T strToNum(const string& str) //字符串转换为数值函数
{
stringstream ss(str);
T temp;
ss >> temp;
if ( ss.fail() ) {
string excep = "Unable to format ";
excep += str;
throw (excep);
}
return temp;
}
int main()
{
try {
string toBeFormat = "7";
int num1 = strToNum<int>(toBeFormat);
cout << num1 << endl;
toBeFormat = "3.14159";
double num2 = strToNum<double>(toBeFormat);
cout << num2 << endl;
toBeFormat = "abc";
int num3 = strToNum<int>(toBeFormat);
cout << num3 << endl;
}
catch (string& e) {
cerr << "exception:" << e << endl;
}
return 0;
}
这样就解决了我们在程序中经常遇到的字符串到数值的转换问题。
本文转自panpan3210 51CTO博客,原文链接:http://blog.51cto.com/panpan/107732,如需转载请自行联系原作者
数值和字符串互相转换相关推荐
- 汇编语言随笔(8)-实验9(显示字符串)、实验10(子程序:除法溢出,数值到字符串的转换)和课程设计1
实验9 编程,在屏幕中间分别显示绿色,绿底红色,白底蓝色的字符串'welcome to masm!'. 80x25彩色字符模式下的显示缓冲区,每页可以显示25行,每行80个字符,其中每个字 ...
- 字符串数字转换成对应的Double数值
一,介绍 前面实现了字符串转换成整形数值.参考这里: 它不支持小数,不支持符号(正.负号) 现在实现一个更复杂一点字符串转换成数值的程序. 它支持"浮点字符串"转换成对应的浮点数值 ...
- python整数转换字符串_使用Python中的str()函数将整数值转换为字符串
python整数转换字符串 Given an integer value and we have to convert the value to the string using str() func ...
- C++11带来的全新数值和字符串转换函数
数值转字符串: std::string str; int a = std::stoi(str); float b = std::stof(str); double b = std::stod(str) ...
- python的数值可以转换为字符串_python 数值转换为字符串Python对HTML转义字符进行反转义...
什么是转义字符 在 HTML 中 .& 等字符有特殊含义( 用于标签中,& 用于转义),他们不能在 HTML 代码中直接使用,如果要在网页中显示这些符号,就需要使用 HTML 的转义字 ...
- VB 字节数组和字符串的转换问题 (StringByte)
VB 字节数组和字符串的转换问题 (String<>Byte) Posted by JiaJia 16 March,2009 (2)Comment 一. 前言 数据类型转换在编程中经常用到 ...
- 《剑指offer》-- 把数组排成最小的数、丑数、二进制中1的个数、表示数值的字符串、替换空格
一.把数组排成最小的数: 1.题目: 输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个.例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为 ...
- 将字符串转为16进制数_C语言中的进制互转与数值和字符串互转的混搭玩法
点击上方公众号名称关注,获得更多内容 ✎ 编 者 悟 语 很多事根本就没有那么多的前提可言,想做事,就不要把先决条件看得过重. 文 章 导 读 今天给小伙伴们介绍下了下进制转换和字符串与数值互转的方法 ...
- python核心数据类型——数值、字符串和列表的基本操作
数值.字符串和列表的基本操作举例 **1. 列表 list** * --------- ① 下标索引及长度测量 * --------- ② 追加新列表以及append( )的应用 * -------- ...
最新文章
- 虚拟化涉及的关键技术都有哪些,分别实现了什么功能?
- mxnet基础到提高(43)-编译安装
- 天平秤重问题(三进制)
- 保留IP地址(特殊IP地址)
- mybatis嵌套查询和嵌套结果有什么区别_Java面试专题之九:Mybatis面试5个大概率被问到的问题...
- python教程循环语句_Python教程:关于Python 循环语句
- java犀牛是什么意思_深入浅出Rhino:Java与JS互操作
- TSAP(4) : 时间序列采样[asfreq( ) VS resample( )]
- 为语音社交平台加一个防护罩,即构上线实时语音安全方案
- 数据结构Status
- imac下修改本地hosts文件解决react项目中的跨域问题
- 一个操作系统的实现:BOOT
- 与二次元老婆邂逅的游戏的创建过程(一)
- 功能测试非常重要的43个功能测试点...
- python抓取懂球帝部分球员数据
- lib lib32 lib64等lib文件夹的说明
- K8S组件介绍及安装
- FreeType 管理字形
- springBoot项目如何启动多个实例
- thrift的使用介绍
热门文章
- qc linux mysql 安装教程_mysql5.7在centos上安装的完整教程以及相关的“坑”
- 漫威游戏的VR体验 让你尖叫
- 电商的「穿衣AI」用得好,剁手根本停不了 | CVPR 2020
- 马斯克的中国救星,特斯拉上海工厂内部首度曝光,数百台机器人维持疫情期间生产...
- 能直接复制图片中文字,功能远超普通OCR软件,MIT学生开发了一款强大Chrome插件...
- 【报告下载】想要评测 Kylin和Vertica的性能?这份基准测试白皮书已经替你做到了...
- 9.1 正则介绍_grep(上);9.2 grep(中);9.3 grep(下)
- RIPv1与RIPv2互通
- NopCommerce架构分析之八------多语言
- Delphi(Tuxedo,BDE,ADO)三合一数据集组件HsTxQuery