能完成字符串和数字转换的方法多种多样:

1.使用string自带函数

数字转字符串:to_string()
字符串转数字:stoi()、stol()、stof()、stod()等等

例:

int i = 42;
string s = to_string(i);
double d = stod(s);

字符串转数字的各个函数还可以选择从字符串的哪个位置开始转换,转换成整型量还可以选择不同的进制,具体见C++primer 328页。

2.使用stringstream

首先要包含sstream头文件,这个类继承自iostream,可以对string进行读写数据。
通过stringstream可以直接完成字符串和数字的互相转换。

例:

//数字转字符串
int num = 12;
string s;
stringstream strs;
strs << num;
strs >> s; //s = “12”
//字符串转数字
string s = "123";
int num;
stringstream strs;
strs << s;
strs >> num; //num = 123

这里的字符串类型不仅可以是string,也可以是char[ ]。当然,C++推荐我们能用string、vector等容器就不要用数组;能用迭代器就不要用普通指针。

3.使用sprintf、sscanf

需要include<stdio.h>

// 数字转字符串
sprintf(str, “%d”, num);
// 字符串转数字
sscanf(str, “%d”, &rsl);

通过字符串和数字之间的相互转换,我们可以更灵活的处理数据、解决问题,比如下面这个例题:

求1-n范围内包含数字 2、0、1、9 的数字的个数,并计算它们的和。

#include <string>
#include <iostream> using namespace std;int n, num = 0, sum = 0;
string s;
string numbers("2019");
int main()
{cin >> n;for (int i = 1; i <= n; ++i){// 将数字转化为strings = to_string(i);// find_first_of()可以查找numbers中任意一个字符在s中第一次出现的位置if (s.find_first_of(numbers) != string::npos) {sum += i;++num;}}cout << "1-" << n << "范围内包含2、0、1、9的数字共有" << num << "个," << "其和为:" << sum << endl;return 0;
}

C++ 字符串和数字之间的相互转换相关推荐

  1. java中的字符,字符串,数字之间的转换(亲测)

    string 和int之间的转换 string转换成int  :Integer.valueOf("12") int转换成string : String.valueOf(12) ch ...

  2. java中的字符,字符串,数字之间的转换

    java中的字符,字符串,数字之间的转换 string 和int之间的转换 string转换成int :Integer.valueOf(" ") int转换成string : St ...

  3. Python 字符串与数字之间的转换

    目录 什么是类型转换,为什么做类型转换 字符串与数字之间转换的要求 字符串与数字之间的转换函数 什么是类型转换 为何做类型转换 将自身数据类型变成新的数据类型,并拥有新的数据类型的所有功能的过程即为类 ...

  4. c语言atoi可以转化小数,C语言实现atoi和itoa(字符串与数字之间的转化)

    C语言实现atoi和itoa(字符串与数字之间的转化) #include #include #include #include #include #include //字符转数字("123& ...

  5. Python数字、字符串、数组之间的相互转换

    在平时刷题中,经常需要在数字.字符串.数组之间做转换,苦于网上没有全面的总结,遂自己稍微总结一下. 文章目录 Python数字.字符串.数组相互转换 Python数组转数字 Python数字转数组 P ...

  6. C/C++中字符串与数字之间的转换

    主要有两种方式:C 中能够使用 sprintf 将数字转为字符数组,sscanf 将字符数组转为数字:而在 C++ 中不仅能够使用 C 中的方法,还能够使用 stringstream 实现字符串与数字 ...

  7. Python3 字符串与hex之间的相互转换

    在字符串转换上,python2和python3是不同的,在查看一些python2的脚本时候,总是遇到字符串与hex之间之间的转换出现问题,记录一下解决方法. 1. 在Python2.7.x上,hex字 ...

  8. java 转byte字符串,Java 字符串与byte之间的相互转换

    写在前面 上次在简书上第一次发表文章多了30位朋友关注和收到80多个喜欢让我受宠若惊.我当时打算以后要多写一些有价值的文章,才对得起关注我的朋友.然而,爱游戏的我在刚不久前把四公主接回来了~这一个多月 ...

  9. js字符串和数字之间的转换

    数字转字符串 var x = 1234567; var s = x.toString(); var len = s.length; console.log(x) console.log(s) cons ...

最新文章

  1. [转]如何借助 TLS/SSL 确保套接字连接的安全(使用 C#/VB/C++ 和 XAML 的 Windows 应用商店应用)...
  2. JZOJ 5484. 【清华集训2017模拟11.26】快乐树
  3. #化鲲为鹏,我有话说# 鲲鹏弹性云服务器配置 Tomcat
  4. 高并发解决方案--负载均衡
  5. #pragma预处理指令详解
  6. R语言ETL工程:分组(group_by)
  7. swift开发网络篇—NSURLConnection基本使用
  8. 12c 新特性-统一审计(Unified Auditing)
  9. Spring Cloud Alibaba教程:使用Nacos作为配置中心
  10. 【Ubuntu touch for xiaomi 8】小米8第三方ROM
  11. 云平台运维的一些心得
  12. 红宝书背诵笔记 — 简单基础词语,Java视频教程百度网盘
  13. 【转载】磁盘空间引起ES集群shard unassigned的处理过程
  14. 冯诺依曼结构与哈佛结构的区别
  15. SVN提交成功,但是版本库里面的内容没有更新--解决方案
  16. python 数据分析 14天_python数据分析简介
  17. 表计算函数(Tableau)
  18. 在真实设备上进行Android调试
  19. 计算机的投资:量化投资
  20. 关于工信部要求品牌电脑强制预装“-花季护航”软件

热门文章

  1. 如何启动 与配置tomcat 服务端,修改startup.bat乱码现象
  2. RocketMQ 集群平滑运维
  3. python关于通讯录模型_python写一个通讯录 - wtwexile - 博客园
  4. ubuntu libiconv库 arm交叉编译
  5. jsp的实质是什么?
  6. 【企业架构设计实战】业务架构设计
  7. 单片微型计算机原理与应用第三版课后答案,单片微型计算机原理及应用 - 课后习题答案 - 山东理工...
  8. 投资品讲解及国债逆回购
  9. 象棋参谋 v1.1 免费版 官网
  10. android中PreferenceScreen类的用法