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

2024-11-09 04:45:47
推荐回答(5个)
回答1:

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

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

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

回答2:

如果是一个字符,直接用减法就可以将字符转换成数字,因为字符类型其实也是一个整数。而且字符"0123456789"的值是连续的,也就是'1'比'0'大1,'8'比‘4’大4,如果求'3'对应的数字直接用'3'-'0'就能得到。所以一个字符char c; 如果c"0123456789"范围内,则 int a = c - '0'就是对应整数值。

回答3:

我的理解和给你答复的那位知友的理解差不多了,直接用'3'-'0'就能得到,转换任何字符都可用要转换的字符减去'0'字符即可得到!!!有没有具体的问题?那样更容易理解的

回答4:

#include
#include
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
#include
int main()
{
int number = 123456;
char string[25];
itoa(number, string, 10);
printf("integer = %d string = %s\n", number, string);
return 0;
}

回答5:

int a = '3' - '0';
得到整数3.