如何将char转换为float?

Amm*_*mar 0 c++

我试图将两个字符数转换为浮点数,但我没有得到正确的结果.

char firstnumber = '1';
char secondnumber = '2';
float sum  ;

sum =  ((firstnumber - '0') /(secondnumber - '0'));
cout << sum;
Run Code Online (Sandbox Code Playgroud)

输出总是0,而不是0.5,请赐教.

Car*_*rum 6

你正在进行整数除法,它会截断结果.您需要添加类型转换以使至少一个/操作数成为浮点数.

sum = (float)(firstnumber - '0') / (secondnumber - '0');
Run Code Online (Sandbox Code Playgroud)