C++中int或double与string的相互转换

article/2025/8/21 11:33:51

一、int转string

1.c++11标准增加了全局函数std::to_string:

string to_string (int val);
string to_string (long val);
string to_string (long long val);
string to_string (unsigned val);
string to_string (unsigned long val);
string to_string (unsigned long long val);
string to_string (float val);
string to_string (double val);
string to_string (long double val);

to_string这个函数可以把很多数类型变成string类型,很强大

下面来看一个例子

#include<iostream>
#include<string>
using namespace std;int main()
{double pi = 3.14;string s1 = "pi=" + to_string(pi);string s2 = to_string(1 + 2 + 4 + 7 + 14) + " is the sum";cout << s1 << endl;cout << s2 << endl;return 0;
}

运行结果:
这里写图片描述
二、借助字符串流:

标准库定义了三种类型字符串流:istringstream,ostringstream,stringstream

这几种类型和iostream中的几个非常类似,分别可以读、写、读和写string类型,它们也确实是从iostream类型派生而来的。

要使用它们需要包含sstream头文件

#include<iostream>
#include<string>
#include <sstream>
using namespace std;
//将int型的i变成string类型
int main()
{ostringstream myos;         //构造一个输出字符串流,流内容为空 int i = 12;myos << i;                  //向输出字符串流中输出int整数i的内容string s = myos.str();      //利用字符串流的str函数获取流中的内容 cout << s + " is the result" << endl;
}

运行结果:
这里写图片描述

二、string转int

1、可以使用std::stoi/stol/stoll等等函数

stoi(字符串,起始位置,2~32进制),将n进制的字符串转化为十进制。

例子:

// stoi example
#include <iostream>
#include <string>     // std::string, std::stoi
using namespace std;int main()
{string str_dec = "2001, A Space Odyssey";string str_hex = "40c3";string str_bin = "-10010110001";string str_auto = "0x7f";string::size_type sz;   // alias of size_tint i_dec = stoi(str_dec, &sz);int i_hex = stoi(str_hex, nullptr, 16);int i_bin = stoi(str_bin, nullptr, 2);int i_auto = stoi(str_auto, nullptr, 0);cout << str_dec << ": " << i_dec << " and [" << str_dec.substr(sz) << "]\n";cout << str_hex << ": " << i_hex << '\n';cout << str_bin << ": " << i_bin << '\n';cout << str_auto << ": " << i_auto << '\n';return 0;
}

这里写图片描述

2、采用标准库中atoi函数,对于其他类型也都有相应的标准库函数,比如浮点型atof(),long型atol()等等

#include <iostream>
using namespace std;int main()
{string s = "12";int a = atoi(s.c_str());cout <<"int a="<< a<<endl;
}

3、采用sstream头文件中定义的字符串流对象来实现转换。

istringstream is("12"); //构造输入字符串流,流的内容初始化为“12”的字符串 
int i;
is >> i;                //从is流中读入一个int整数存入i中

参考资料:
https://blog.csdn.net/u010510020/article/details/73799996
http://blog.csdn.net/chavo0/article/details/51038397
http://blog.csdn.net/na_beginning/article/details/53576123


http://chatgpt.dhexx.cn/article/ubQK8Mb1.shtml

相关文章

java byte[]转int和double

一般无需java来处理byte字节的数据转成 int , C语言更适合干这事. 但是无奈遇到了这种需求. 网上百度了一小部分代码, 发现好多错误代码… 干脆自己手写了一遍… byte[]数据的格式协议文档如下: 先上使用代码 byte[] hex Base64.getDecoder().decode(data); int head Read…

详细讲解int、float与double的区别

最近为了看一下float的精确度仔细看了一下这三种数据在内存中的样子&#xff0c;看了一下别人的博客发现大家对精度都有这不同的定义&#xff0c;我自己也简单画了一下。 下面来主要讲解一下int、float与double三者的区别与详解 一、int&#xff08;最简单的一种&#xff09;…

c++ string转int, double,int,double转string

c string与常用数值变量互转 写了几个字符串与数值变量互相转换的几个函数&#xff0c;每次用到都要上网查一堆&#xff0c;耽误时间&#xff0c;写好放到这里备用。方法有很多&#xff0c;这里列出来测试过能用的&#xff0c;其他方法慢慢添加。以下函数自动判断int或者double…

C++下string类型转double类型

最近coding的时候随手写了std::stod()函数来进行类型的转换&#xff0c;发现输出的时候自动做了小数位的截取 尝试使用std::stold()函数转换成long double类型之后&#xff0c;依旧不能解决问题&#xff0c;输出依旧不是想要的 发现网上对这个问题的解答没有&#xff0c;于是…

double类型转换成int类型

1、案例演示 public class test09 {public static void main(String[] args) {double a 5000.44;double b 100.12;double v a / b;int i new Double(v).intValue();System.out.println(i);System.out.println(v);} } 运行结果&#xff1a; 49 49.944466640031955 2、源…

移动光猫超级管理员密码获取

我的型号是ZN-M142G 一 、开启telnet 1.电脑开启telnet &#xff08;自行百度&#xff09; 2.登录192.168.1.1 3.把路由器后台网址替换&#xff08;如果光猫已经开启telnet请忽略&#xff09;​​​​​​http://192.168.1.1/getpage.gch?pid1002&nextpagetele_sec_ts…

移动光猫只有一个lan口?其他是电视用,如何增lan口

输入192.168.1.1&#xff0c;用超级账号登陆&#xff0c;&#xff08;如何得到超级账号呢&#xff0c;可以让维护小区的移动工作人员给你&#xff09;我发现家里的光猫只有一个lan口&#xff0c;通过超级账号登陆发现&#xff0c;其他三个&#xff08;lan1~lan3&#xff09;都分…

移动光猫 烽火HG6145F 获取管理员密码 启用USB存储功能

总结一下移动光猫烽火HG6145F获取管理员密码的过程&#xff0c;从网上没有搜到这个型号&#xff0c;但是可以参考一下相关类似型号&#xff0c;参考链接附后。 1、连接光猫&#xff1a;首先连接好光猫的WIFI&#xff0c;确认可以访问路由默认网关192.168.1.1 2、获取光猫MAC&…

移动光猫连接移动硬盘变成超小型nas【HS8545M5

移动硬盘连接光猫usb接口 一.第一步 先准备好移动硬盘和光猫 我的移动硬盘装了个盒子1TB 连接好usb接口 我家的光猫是华为定制版的 HS8545M5 当然肯定不会这么简单的就完成了 2.这个需要登录光猫的超级管理员打开媒体共享功能的 当然移动公司不会简单给你超级账号的密码 可以…

最新中国移动光猫改桥接方式(中兴ZXHN F663NV9)地域:贵州 适用于动态超密

​ 话不多说&#xff0c;直接开干 1.首先拔掉光纤 2.把电脑网线插进光猫1口 输入管理地址192.168.1.1 ​ 3.接着输入管理员密码&#xff0c;就是光猫背面的那个 进入后台后选择 网络——远程管理 然后复制loid和password以及sn备用 4.然后重置光猫 用针恢复孔5秒以上&…

移动光猫(吉比特TEWA-272G)进入高级管理界面的简单方法

参加中国移动光纤宽带升级千兆活动后&#xff0c;之前通过超级用户身份已调成桥接模式的光猫(GS3101)免费更换成了吉比特TEWA-272G(2021-10-30生产&#xff0c;硬件版本号HV1.0.0.0、软件版本号 V1.0.0.0)&#xff0c;只能用新设备后面注明的user和口令进入基础管理界面进行…

移动光猫GM219-s多LAN端口的网络开放

起因 最近&#xff08;2018.08&#xff09;装了移动的50M宽带&#xff08;成都&#xff09;&#xff0c;在默认情况下GM219-S这款光猫总共有4个端口&#xff0c;但是只有LAN1口是可以连接电脑上网&#xff0c;其他的3个端口只能用于电视盒子之类的用途。就是下图这货→_→   …

移动光猫之桥接教程

背景&#xff1a;移动宽带默认是移动光猫拨号&#xff0c;使用的路由模式&#xff0c;但移动的猫太差劲&#xff0c;需要将移动光猫改为桥接模式&#xff0c;改用红米AC2100路由器进行拨号上网。说干就干&#xff0c;开工。 1、获取光猫超级用户和密码。 用户名&#xff1a;C…

网速更稳定,破解移动光猫GM219-S的超级账号及密码,光猫改桥接

前言 我家的宽带是河南的大内网移动500m快带&#xff0c;光猫性能太拉了&#xff0c;时不时就装死&#xff0c;并且网上的大多数教程都没法用&#xff0c;大部分漏洞的接口都堵上了。本来都打算找移动客服扯皮去&#xff0c;突然找到了一个教程拯救了我。 教程地址 教程&…

获取移动光猫(如HS8545M5等设备)pppoe密码明文

有时候忘记了自己的pppoe拨号密码&#xff0c;找回又很麻烦&#xff0c;这里教大家怎么把光猫的pppoe密码明文搞出来 首先使用超级账户登录到你的光猫 超级账户的密码一般是与光猫型号对应&#xff0c;是固定的&#xff0c;上网就型号能搜到&#xff08;或者与地区相关联&…

获取中国移动光猫H2-2超管密码

最近闲的难受开始闲置利用&#xff0c;将两年前买的我家云和没用的硬盘闲置利用&#xff0c;上网心云&#xff0c;无奈由于中国移动路由器限制&#xff0c;每天收益几分钱&#xff0c;最多1毛1&#xff0c;只能解密家里中国移动光猫开启UPNP了。 家里宽带为&#xff1a;中国移动…

中国移动光猫获取超级密码教程

关键词&#xff1a;中国移动光猫、华为光猫 相关工具&#xff1a; HuaWeiONT_v2.0.7z 下载地址&#xff1a;http://res.extapps.com/pcsoft/HuaWeiONT_v2.0.7zhttp://res.extapps.com/pcsoft/HuaWeiONT_v2.0.7z 华为解密.zip 下载地址&#xff1a;下载 | 华为光猫配置解密工…

陕西移动宽带光猫 GM219-S 路由功能分离

陕西移动宽带光猫 GM219-S 路由功能分离 最近更换了陕西移动的100M宽带。移动公司送的光猫型号为GM219-S&#xff0c;自带路由和无线功能。以下为光猫外形。 装机师傅在调测好宽带后拒绝透露光猫的超级管理员用户名密码&#xff0c;且将光猫设置为猫路由模式。这样我自用的…

重庆地区移动宽带更换光猫

重庆地区移动宽带更换光猫注意事项 为什么要安装移动宽带 我原本是用的电信纯宽带&#xff0c;资费699一年&#xff0c;速率下行100M&#xff0c;上行20M&#xff0c;免安装费用&#xff0c;运营商提供免费提供光猫。原宽带于3月到期&#xff0c;我也觉得资费有点贵&#xff…

修改移动光猫,提升上网速度

家里网络变慢的问题 自从换了移动的100M网络&#xff08;因为免费才换的&#xff01;&#xff01;&#xff09;&#xff0c;发现家里的网络差了好多。一开始还好&#xff0c;到了后面总是出现页面卡顿&#xff0c;网页上不去现象。 经过一番盲猜分析&#xff0c;发现了两个问…