原文地址

C++本身就提供了字符串与整型数之间的互换,那就是利用stringstream。下面是使用方法:

核心: 利用C++中的stringstream流。


由于使用过程比较简单就不再赘述,直接给出示例,重要的地方在示例注释中给予说明。




完整示例:


#include <iostream>


#include <string>


#include <sstream> //要使用stringstream流应包含此头文件


using namespace std;




int main()


{


stringstream stream; //声明一个stringstream变量


int n;


string str;




//string转int


stream << "1234"; //向stream中插入字符串"1234"


stream >> n; //从stream中提取刚插入的字符串"1234" 并将其赋予变量n完成字符串到int的转换


cout << n << endl; //输出n




stream.clear(); //同一stream进行多次转换应调用成员函数clear




//int转string


stream << 1234; //向stream中插入整型数1234


stream >> str; //从steam中提取刚插入的整型数 并将其赋予变量str完成整型数到string的转换


cout << str << endl; //输出str


return 0;


}




上面方法很简便, 缺点是处理大量数据转换速度较慢..

C library中的sprintf, sscanf 相对更快



可以用sprintf函数将数字输出到一个字符缓冲区中. 从而进行了转换...

例如:

已知从0点开始的秒数(seconds) ,计算出字符串"H:M:S", 其中H是小时, M=分钟,S=秒



         int H, M, S;

        string time_str;

        H=seconds/3600;

        M=(seconds%3600)/60;

        S=(seconds%3600)%60;

        char ctime[10];

        sprintf(ctime, "%d:%d:%d", H, M, S); // 将整数转换成字符串

        time_str=ctime; // 结果






与sprintf对应的是sscanf函数, 可以将字符串转换成数字



    char str[] = "15.455";

    int i;

    float fp;

    sscanf( str, "%d", &i ); // 将字符串转换成整数 i = 15

    sscanf( str, "%f", &fp ); // 将字符串转换成浮点数 fp = 15.455000

    //打印

    printf( "Integer: = %d ", i+1 );

    printf( "Real: = %f ", fp+1 );


    return 0;

C++ string与int的互相转换的更多相关文章

  1. java和python中的string和int数据类型的转换

    未经允许,禁止转载!!! 在平时写代码的时候经常会用到string和int数据类型的转换 由于java和python在string和int数据类型转换的时候是不一样的 下面总结了java和python ...

  2. java 13-4 Integer和String、int之间的转换,进制转换

    1.int类型和String类型的相互转换 A.int -- String 推荐用: public static String valueOf(int i) 返回 int 参数的字符串表示形式. B. ...

  3. String与Int类型的转换

    http://blog.sina.com.cn/s/blog_4f9d6b1001000bfo.html int -> String int i=12345; String s="&q ...

  4. javascript中string与int之间的转换

    string转int javascript中提供了两种方法转换为数值(int): var str='15'; var str8='015'; var strChar='12abc'; //first ...

  5. stringstream快速实现String和int之间的转换

    需要包含头文件”sstream” #include <iostream> #include <string> #include <sstream> using na ...

  6. String与int之间的转换

    原文: http://www.360doc.com/content/10/1215/00/2258566_78225883.shtml

  7. Android-Kotlin-函数表达式&String与Int转换$异常处理

    Kotlin的函数表达式: package cn.kotlin.kotlin_base03 /** * 函数第一种写法 */ fun addMethod1(number1: Int, number2: ...

  8. 把int类型值转换成int数组(不通过string类型转换)

    只适合初学者 今天同事问了我不通过string类型把int类型值123589转换成int[]数组.我想了想于是写了出来,其实不难.看你小学数学学得好不好.言归正传. 先不说代码,举个列子就知道怎么玩了 ...

  9. C++有没有string转化int的函数,怎样转换

    有两种方法1. c++中string到int的转换 1) 在C标准库里面,使用atoi: #include <cstdlib>#include <string> std::st ...

随机推荐

  1. Linux系统安装常用开发软件

    vim.jdk.tomcat.mysql 安装vim(命令模式=>编辑模式=>底行模式) [root@localhost ~]# yum install vim*结束后一直确认即可,键入y ...

  2. deep_learning_Function_sklearn.preprocessing.LabelBinarizer()

    在多数的机器学习比赛中,给出的标签都是非数字化的,所以我们需要对其进行转换.代码如下: from sklearn import preprocessing feature = [[0,1], [1,1 ...

  3. BLE 5协议栈-链路层

    文章转载自:http://www.sunyouqun.com/2017/04/page/3/ 链路层LL(Link Layer)是协议栈中最重要的一层. 链路层的核心是状态机,包含广播.扫描.发起和连 ...

  4. 1.python环境安装

    一:安装Python与环境配置 二:安装pip 三:Anaconda安装和使用 3.1 什么是 Anaconda? Anaconda是专注于数据分析的Python发行版本,支持 Linux, Mac, ...

  5. 开源框架相关面试问题-retrofit网络框架面试问题讲解

    retrofit使用简介: 在retrofit中通过一个接口作为Http请求的api接口.注意:@GET("url")中的url只是一个路径,不包含主机号的. 创建一个retrof ...

  6. sql 实现取表中相同id时间最大的一行 利用distinct on

    数据表是这样的 select * from water_level_records m where ( select count(*) from water_level_records n where ...

  7. NoSQL数据库技术实战-第1章 NoSQL的数据一致性 传统关系型数据库的ACID

    在看着章节的时候,我简单的回顾了一下关系型数据库的事务处理的ACID原则,其中原子性和持久性比较好理解.由于以前没有深入去研究.关于一致性和隔离性上我产生了疑问,在整理后分析如下:   一致性:书中所 ...

  8. IDEA导入maven中导入net.sf.json报错的解决方法

    使用IDEA搭建Maven项目导入架包时, 添加net.sf.json的jar包的时候,代码如下: 在pom.xml文件时: <dependency> <groupId>net ...

  9. nginx静态资源服务

    静态文件 动态文件 需要算法,函数封装后,返回给浏览器端的 静态资源的服务场景----CDN 异步I/O-----效果不明显 tcp_nopush  注意,须在sendfile开启的前提下 技术思想: ...

  10. POJ 2142 - The Balance [ 扩展欧几里得 ]

    题意: 给定 a b n找到满足ax+by=n 的x,y 令|x|+|y|最小(等时令a|x|+b|y|最小) 分析: 算法一定是扩展欧几里得. 最小的时候一定是 x 是最小正值 或者 y 是最小正值 ...