0

2 つの char 数値を float に変換しようとしていますが、正しい結果が得られません。

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

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

出力は常に0.5ではなく0です。教えてください。

4

2 に答える 2

6

結果を切り捨てる整数除算を行っています。オペランドの少なくとも 1 つを/浮動小数点数にするために型キャストを追加する必要があります。

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

2 つの整数を除算すると、整数除算になります。あなたがしたい:

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

(または、同じことを達成する他の方法。)

于 2013-10-07T23:47:27.103 に答える