Почему static_cast не работает, когда я делю два целых числа? - PullRequest
0 голосов
/ 02 октября 2019

Этот вопрос касается кода C ++. У меня есть два целых числа a и b, и я хочу разделить одно на другое и сохранить ответ как двойное число. Но когда я ввожу следующий код:

int a = 3, b = 7;
double d = static_cast<double>(a/b);
cout<<d<<endl;

, я получаю 0. Я не понимаю, почему. Пожалуйста, помогите.

1 Ответ

3 голосов
/ 02 октября 2019

Потому что вы все еще делите два ints. Результат по-прежнему равен int (0), затем вы преобразуете это int в double и печатаете его. Попробуйте сначала привести один из операндов, а затем разделить.

...