如何将char转换为float?

时间:2013-10-07 23:45:55

标签: c++

我正在尝试将两个char数转换为float,但我没有得到正确的结果。

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

sum =  ((firstnumber - '0') /(secondnumber - '0'));
cout << sum;

输出始终 0 ,而不是 0.5 ,请赐教。

2 个答案:

答案 0 :(得分:6)

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

sum = (float)(firstnumber - '0') / (secondnumber - '0');

答案 1 :(得分:3)

当你除以两个整数时,你得到整数除法。你想要:

sum =  (firstnumber - '0');
sum /= (secondnumber - '0');

(或其他一些完成同样事情的方法。)