Я пытаюсь преобразовать два числа символов в float, но я не получаю правильный результат.
char firstnumber = '1';
char secondnumber = '2';
float sum ;
sum = ((firstnumber - '0') /(secondnumber - '0'));
cout << sum;
Выход всегда 0, а не 0,5, пожалуйста, просветите меня.
Вы выполняете целочисленное деление, которое усекает результат. Вам нужно добавить приведение типа, чтобы получить по крайней мере один из /
операндов быть числом с плавающей точкой.
sum = (float)(firstnumber - '0') / (secondnumber - '0');
Когда вы делите два целых числа, вы получаете целочисленное деление. Вы хотите:
sum = (firstnumber - '0');
sum /= (secondnumber - '0');
(Или какой-то другой способ совершить то же самое.)