C++,怎么把字符转换成数字

怎么把字符转换成数字,比如现在有一个字符'7',这个7现在是一个字符,我想要把他转换成int型的7。怎么弄... 怎么把字符转换成数字,比如现在有一个字符 '7' ,这个7现在是一个字符,我想要把他转换成int型的 7。怎么弄 展开
 我来答
创作者alan
高粉答主

推荐于2019-08-12 · 知行合一,有志者事竟成
创作者alan
采纳数:68 获赞数:67075

向TA提问 私信TA
展开全部

一、可以用C++的stringstream。 主要原因是操作简单。

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

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

二、使用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()这个函数是平台相关的(不是标准里的)。

三、使用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++擅长面向对象程序设计的同时,还可以进行基于过程的程序设计,因而C++就适应的问题规模而论,大小由之。

C++不仅拥有计算机高效运行的实用性特征,同时还致力于提高大规模程序的编程质量与程序设计语言的问题描述能力。

寒心碧520
推荐于2019-08-16 · TA获得超过299个赞
知道答主
回答量:8
采纳率:0%
帮助的人:1.9万
展开全部

1、可以用atoi函数。

例:char a='7';
int num=atoi(a);

2、如果是很多数字,字符串形式的话按下列方式转成Int型。

例:String s="1234";
int i = Integer.parseInt(s);

拓展资料

C++对C的“增强”,表现在六个方面:

(1) 类型检查更为严格。

(2) 增加了面向对象的机制。

(3)增加了泛型编程的机制(Template)。

(4)增加了异常处理。

(5)增加了运算符重载。

(6)增加了标准模板库(STL)。

面向对象程序设计,是针对开发较大规模的程序而提出来的,目的是提高软件开发的效率。不要把面向对象和面向过程对立起来,面向对象和面向过程不是矛盾的,而是各有用途、互为补充的。

学习C++,既要会利用C++进行面向过程的结构化程序设计,也要会利用C++进行面向对象的程序设计,更要会利用模板进行泛型编程。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
老黄撩IT
2018-05-22 · 知识的价值不在于占有,而在于使用...
老黄撩IT
采纳数:191 获赞数:11798

向TA提问 私信TA
展开全部

C++可以通过 atoi函数把字符转换成数字。

C++是C语言的继承,它既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计。C++之父Bjame Stroustrup最近说C++11就像一个新语言,的确,C++11核心已经发生了巨大的变化,它现在支持Lambda表达式,对象类型自动推断,统一的初始化语法,委托构造函数,deleted和defaulted函数声明nullptr,以及最重要的右值引用。

  1. 头文件:stdlib.h   函数原型:int atoi(const char *nptr);

  2. #include <stdlib.h>
    #include <stdio.h>

    int main(void)
    {
    int n;
    char *str = "12345";
    n = atoi(str);
    printf("int=%d\n",n);
    return 0;
    }

  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进制

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

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
风中微子都fdd
推荐于2019-08-19 · TA获得超过2967个赞
知道答主
回答量:74
采纳率:100%
帮助的人:1.5万
展开全部

sprintf 字符串格式化命令,主要功能是把格式化的数据写入某个字符串中。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; // 结果

拓展资料

C++对C的“增强”,表现在六个方面:

(1) 类型检查更为严格。

(2) 增加了面向对象的机制。

(3)增加了泛型编程的机制(Template)。

(4)增加了异常处理。

(5)增加了运算符重载。

(6)增加了标准模板库(STL)。

面向对象程序设计,是针对开发较大规模的程序而提出来的,目的是提高软件开发的效率。不要把面向对象和面向过程对立起来,面向对象和面向过程不是矛盾的,而是各有用途、互为补充的。

学习C++,既要会利用C++进行面向过程的结构化程序设计,也要会利用C++进行面向对象的程序设计,更要会利用模板进行泛型编程。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友67bed773
推荐于2019-08-26 · TA获得超过1.1万个赞
知道小有建树答主
回答量:71
采纳率:100%
帮助的人:3.3万
展开全部

标准库中定义了to_string(val);可以将其它类型转换为string。还定义了一组stoi(s,p,b)、stol(s,p,b)、stod(s,p,b)等转换函数,可以函数,可以分别转化成int、long、double等.
stoi(s,p,b);stol(s,p,b);stoul(s,p,b);stoll(s,p,b);stoull(s,p,b); 返回s的起始子串(表示整数内容的字符串)的数值,返回值的类型分别为:int、long、unsigned long、long long、unsigned long long.

其中b表示转换所用的基数,默认为10(表示十进制).p是size_t的指针,用来保存s中第一个非数值字符的下标,p默认为0,即函数不返 回下标.


stof(s, p); stod(s, p); stold(s, p); 返回s的起始子串(表示浮点数内容)的数值,返回值的类型分别是float、double、long double.参数p的作用与整数转换函数中的一样。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(11)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式