转载地址:https://www.cnblogs.com/happygirl-zjj/p/4633789.html

一.利用stringstream类
1. 字符串到整数
    stringstream sstr(str);
    int x;
    sstr >> x;(即从sstr中提取数据)
2. 整数到字符串
    stringstream sstr;
    int x;
    sstr << x;
    string str = sstr.str();
缺点:处理大量数据转换速度较慢。stringstream不会主动释放内存,如果要在程序中用同一个流,需要适时地清除一下缓存(用stream.str("")和stream.clear()).
 
测试代码:

经测试,两者速率确实差很多。
当num为10000000时,输出结果为:
82602
7144
 
二.C中的sprintf、sscanf函数
1. 可以用sprintf函数将数字转换成字符串
例如:
         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; // 结果
 
2. 与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;
 
    输出如下:
    Integer: = 16
     Real: = 16.455000
 
三.C标准库atoi, atof, atol, atoll(C++11标准) 函数将字符串转换成int,double, long, long long 型
1. itoa函数
char *itoa(int value, char *string, int radix);
 
value: 待转化的整数。
radix: 是基数的意思,即先将value转化为radix进制的数,范围介于2-36,比如10表示10进制,16表示16进制。
* string: 保存转换后得到的字符串。
返回值:
char * : 指向生成的字符串, 同*string。
备注:该函数的头文件是"stdlib.h"
 
2. atoi
  C语言库函数名: atoi
  功 能: 把字符串转换成整型数
  函数说明: atoi()会扫描参数nptr字符串,检测到第一个数字或正负符号时开始做类型转换,之后检测到非数字或结束符 \0 时停止转换,返回整型数。
  原型: int atoi(const char *nptr);
  需要用到的头文件: #include <stdlib.h>

ZT:C/C++ 字符串与数字相互转换的更多相关文章

  1. C.【转】C语言字符串与数字相互转换

    1.gcvt 把浮点数转成字符串 - CSDN博客.html(https://blog.csdn.net/dxuehui/article/details/52791412) 1.1. 函数名: gcv ...

  2. C语言字符串与数字相互转换

    在C/C++语言中没有专门的字符串变量,通常用字符数组来存放字符串.字符串是以“\0”作为结束符.C/C++提供了丰富的字符串处理函数,下面列出了几个最常用的函数. ● 字符串输出函数puts. ● ...

  3. 【转】C语言字符串与数字相互转换

    在C/C++语言中没有专门的字符串变量,通常用字符数组来存放字符串.字符串是以“\0”作为结束符.C/C++提供了丰富的字符串处理函数,下面列出了几个最常用的函数. ● 字符串输出函数puts. ● ...

  4. C/C++中字符串与数字相互转换

    数字转字符串: 用C++的streanstream: #include <sstream> #Include <string> string num2str(double i) ...

  5. C/C++ 字符串与数字相互转换

    一.利用stringstream类 1. 字符串到整数     stringstream sstr(str);     int x;     sstr >> x;(即从sstr中提取数据) ...

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

    本文总结了四种字符串和数字相互转换的方法,方法一和方法二是c++中的方法,方法三和方法四是C语言库函数的方法. 方法一:c++11中string中添加了下面这些方法帮助完成字符串和数字的相互转换 st ...

  7. 转:IE兼容模式下 SCRIPT1028: 缺少标识符、字符串或数字

    IE兼容模式下 SCRIPT1028: 缺少标识符.字符串或数字例如下面一段代码 var a = {    x: 1,    y: 2,};alert(a.x);如果在IE的兼容性视图(IE7文档模式 ...

  8. 剑指Offer面试题:35.将字符串转换为数字

    一.题目:将字符串转换为数字 题目:写一个函数StrToInt,实现把字符串转换成整数这个功能.当然,不能使用atoi或者其他类似的库函数. 二.代码实现 (1)考虑输入的字符串是否是NULL.空字符 ...

  9. Oracle 把秒转成时分秒格式(hh24:mm:ss);检测字符串是否是数字;字符串转换为数字

    不说废话,贴代码: CREATE OR REPLACE FUNCTION to_time(sec IN NUMBER) RETURN VARCHAR2 IS /*把秒转成时分秒格式 auth lzpo ...

随机推荐

  1. javascript Array对象笔记

    Array对象     利用new Array()     var arr1=new Array(1,2)     注意     如果括号里面只有一个数字则表示的是数组的长度     检测是否是数组 ...

  2. Secure CRT连接VMware虚拟机中的CentOS 7

    操作步骤: 1.安装Centos 7   虚拟机设置==>NetworkAdapter===>选择NAT(共享主机的IP地址), CTRL+ALT+F1切换到图形界面 选择右上角以太网打开 ...

  3. 十多位全球技术专家,为你献上近十个小时的.Net微服务介绍

    .Net Conf: Focus on Microservices 是 .Net Conf 社区在 2020 年 7 月 30 日举办的线上分享活动.整个活动视频长达近 10 个小时.今天我们来看看都 ...

  4. Consul服务治理发现学习记录

    Consul 简介 Consul是一个服务网格(微服务间的 TCP/IP,负责服务之间的网络调用.限流.熔断和监控)解决方案,它是一个一个分布式的,高度可用的系统,而且开发使用都很简便.它提供了一个功 ...

  5. C#算法设计排序篇之09-基数排序(附带动画演示程序)

    基数排序(Radix Sort) 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/691 访问. 基数排序属于" ...

  6. # c++运算符重载之 前置++, 后置++, 负号运算符, 类型转换函数, 以及输入输出运算符

    c++运算符重载之 前置++, 后置++, 负号运算符, 类型转换函数, 以及输入输出运算符 标签(空格分隔): c++ 前言 我在c++学习的过程中, 对这几个不太常见的运算符重载不太会写.出现了很 ...

  7. Android 开发学习进程0.12 自定义view activity的属性

    设置类似钉钉或tel的圆形用户名首字母头像 设置有两种方法,一是使用已有的库或自定义的view组件,但如果确定只是文字头像,也可使用textview的backgrou属性,调整资源文件使textvie ...

  8. js对象的数据属性和访问器属性

    js面向对象 ECMA-262第5版在定义只有内部才用的特性(attribute)时,描述了属性(property)的各种特征.ECMA-262定义这些特性是为了实现javascript引擎用的,因此 ...

  9. 将本地项目推送到远程gitee仓库(通过git命令)

    只有经历过地狱般的磨砺,才能练就创造天堂的力量: 只有流过血的手指,才能弹出世间的绝响 将本地的项目推送到远程gitee仓库 本地新建的Java项目,想推送到远程gitee仓库或者git仓库,你需要两 ...

  10. 【全解】Eclipse添加Spring项目插件

    1.Eclipse打开window-preference-InstallNewSoftware 2.先点Manage,取消掉The Eclipse Project Updates 3.选择Add . ...