c++怎么将字符‘3’转换为整型数字3啊?

如题所述

字符符型转换整形用强制转换就行,可以参考下面的代码:

char c='B' ;

int a ;

a = (int)c ; 

如果是字符'0'到‘9’转成0-9

char c='8' ;

int a ;

a =(int) (c - '0') ; 

扩展资料:

C++语言编译系统提供的内部数据类型的强制转换规则如下:

1、执行算术运算时,低类型(短字节)可以转换为高类型(长字节);例如: int型转换成double型,char型转换成int型等等

2、赋值表达式中,等号右边表达式的值的类型自动隐式地转换为左边变量的类型,并赋值给它

3、函数调用时,将实参的值传递给形参,系统首先会自动隐式地把实参的值的类型转换为形参的类型,然后再赋值给形参

参考资料来源:百度百科-强制类型转换

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-13
如果是一个字符,直接用减法就可以将字符转换成数字,因为字符类型其实也是一个整数。而且字符"0123456789"的值是连续的,也就是'1'比'0'大1,'8'比‘4’大4,如果求'3'对应的数字直接用'3'-'0'就能得到。所以一个字符char c; 如果c"0123456789"范围内,则 int a = c - '0'就是对应整数值。本回答被提问者采纳
第2个回答  2012-12-01
我的理解和给你答复的那位知友的理解差不多了,直接用'3'-'0'就能得到,转换任何字符都可用要转换的字符减去'0'字符即可得到!!!有没有具体的问题?那样更容易理解的来自:求助得到的回答
第2个回答  2012-12-01
#include <stdlib.h>
#include <stdio.h>
int main(void)
{
int n;
char *str = "12345.67";
n = atoi(str);
printf("string = %s integer = %d\n", str, n);
return 0;
}

用atoi
如果数字转字符串可以用itoa
#include <stdlib.h>
#include <stdio.h>
int main()
{
int number = 123456;
char string[25];
itoa(number, string, 10);
printf("integer = %d string = %s\n", number, string);
return 0;
}本回答被网友采纳
第3个回答  2012-11-30
int a = '3' - '0';
得到整数3.
相似回答