我正在尝试将两个char数转换为float,但我没有得到正确的结果。
char firstnumber = '1';
char secondnumber = '2';
float sum ;
sum = ((firstnumber - '0') /(secondnumber - '0'));
cout << sum;
输出始终 0 ,而不是 0.5 ,请赐教。
答案 0 :(得分:6)
你正在进行整数除法,它会截断结果。您需要添加一个类型转换,以使至少一个/
个操作数成为浮点数。
sum = (float)(firstnumber - '0') / (secondnumber - '0');
答案 1 :(得分:3)
当你除以两个整数时,你得到整数除法。你想要:
sum = (firstnumber - '0');
sum /= (secondnumber - '0');
(或其他一些完成同样事情的方法。)