0

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

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

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

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

4

2 回答 2

6

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

sum = (float)(firstnumber - '0') / (secondnumber - '0');
于 2013-10-07T23:47:20.817 回答
3

当您将两个整数相除时,您会得到整数除法。你要:

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

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

于 2013-10-07T23:47:27.103 回答