字符符型转换整形用强制转换就行,可以参考下面的代码:
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、函数调用时,将实参的值传递给形参,系统首先会自动隐式地把实参的值的类型转换为形参的类型,然后再赋值给形参
参考资料来源:百度百科-强制类型转换
如果是一个字符,直接用减法就可以将字符转换成数字,因为字符类型其实也是一个整数。而且字符"0123456789"的值是连续的,也就是'1'比'0'大1,'8'比‘4’大4,如果求'3'对应的数字直接用'3'-'0'就能得到。所以一个字符char c; 如果c"0123456789"范围内,则 int a = c - '0'就是对应整数值。
我的理解和给你答复的那位知友的理解差不多了,直接用'3'-'0'就能得到,转换任何字符都可用要转换的字符减去'0'字符即可得到!!!有没有具体的问题?那样更容易理解的
#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;
}
int a = '3' - '0';
得到整数3.