c++ 数字与字符串的相互转换

转载 2018年04月16日 20:36:22

转自https://blog.csdn.net/michaelhan3/article/details/75667066

首先推荐用用C++的stringstream。 
主要原因是操作简单。

数字转字符串,int float类型 同理

#include <string>
#include <sstream>

int main(){
    double a = 123.32;
    string res;
    stringstream ss;
    ss << a;
    ss >> res;//或者 res = ss.str();
    return 0;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

字符串转数字,int float类型 同理

int main(){
    string a = "123.32";
    double res;
    stringstream ss;
    ss << a;
    ss >> res;
    return 0;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

上面方法的优点就是使用简单方便,确定可能会相对别的方法来说慢一点,但是一般少量的数据可以忽略该因素。

二 别的方法

2、数字转字符串: 
下面方法转自:http://www.cnblogs.com/luxiaoxun/archive/2012/08/03/2621803.html

使用sprintf()函数

char str[10]; 
int a=1234321;

sprintf(str,”%d”,a);

char str[10]; 
double a=123.321;

sprintf(str,”%.3lf”,a);

char str[10]; 
int a=175;

sprintf(str,”%x”,a);//10进制转换成16进制,如果输出大写的字母是sprintf(str,”%X”,a)

char itoa(int value, char string, int radix); 
同样也可以将数字转字符串,不过itoa()这个函数是平台相关的(不是标准里的),故在这里不推荐使用这个函数。

3、字符串转数字:使用sscanf()函数

char str[]=”1234321”; 
int a; 
sscanf(str,”%d”,&a); 
…………. 
char str[]=”123.321”; 
double a; 
sscanf(str,”%lf”,&a); 
…………. 
char str[]=”AF”; 
int a; 
sscanf(str,”%x”,&a); //16进制转换成10进制

另外也可以使用atoi(),atol(),atof().


c中字符串转数字


数字与字符串相互转换

1.数字转字符串:使用sprintf()函数char str[10]; int a=1234321; sprintf(str,&quot;%d&quot;,a); ------------------...
  • qq_40679299
  • qq_40679299
  • 2018-01-28 16:27:02
  • 114

字符串与数字的相互转换

在写程序的时候常常碰到字符串与数字相互转换的问题,这里做一个小小的总结。     字符串与数字的转换的方法比较多,按照不同的开发环境可以分为C/C++/MFC,当然这三者存在着包含关系,在C开发环境...
  • ME_SKY_2012
  • ME_SKY_2012
  • 2012-06-14 18:36:44
  • 663

[java学习]数字与字符串的相互转换

java中  数字====》》》》》》字符串: String s = String.valueof(a); a可以是int,float ,double。 String  》》》》》》》》数字:...
  • u013132758
  • u013132758
  • 2016-07-11 17:07:44
  • 401

字符串转数字

int ConverStringToInt(string content) { int i = content.length; int number = 0; foreach(char c in co...
  • u010386327
  • u010386327
  • 2014-01-09 00:29:56
  • 592

MFC中CString的使用介绍

  • 2011年06月12日 10:32
  • 170KB
  • 下载

中文字符串与二进制字符串相互转化

一、将中文字符串转换为二进制字符串 1.中文字符串 变成 字符数组 2.将字符数组的每个数组 变成 二进制(强制类型转换) 二、将二进制字符串转换为中文字符串 1.将二进制字符串 分割 为字符串数组 ...
  • z563394688
  • z563394688
  • 2015-05-12 00:30:09
  • 450

C/C++字符串与数字的相互转化

数字转字符串: 用C++的stringstream: #include #include   string num2str(double i)   {   stringstream ss;   ...
  • liuchenjane
  • liuchenjane
  • 2016-10-17 09:39:24
  • 1197

C++字符串数字相互转换

C++字符串,数字相互转换 一.将CString转为CTime的几种方法 CString   timestr   =   "2000年04月05日";     int   a,b,c  ...
  • aoxiangzhiguanjun
  • aoxiangzhiguanjun
  • 2013-04-10 15:08:57
  • 1013

数字类型和字符串类型的相互转换

数字类型和字符串类型的相互转换
  • yzwty
  • yzwty
  • 2016-10-04 23:05:44
  • 356

Java 字符串和基本数据类型之间的转换

  • 2017年06月27日 22:15
  • 4KB
  • 下载
收藏助手
不良信息举报
您举报文章:c++ 数字与字符串的相互转换
举报原因:
原因补充:

(最多只允许输入30个字)