Страницы

Поиск по вопросам

воскресенье, 26 января 2020 г.

25 / 100 = 0, Почему?

#c_sharp #cpp #c


Мне нужно по некой формуле высчитать результат, но это не удается потому что в ней
используется деление числа 25 на число 100.
Все это выглядит примерно так:  

double i = 25 / 100; // В этом случае будет выводиться 0, а мне нужно 0.25


В чём здесь проблема?
    


Ответы

Ответ 1



У Вас в действии int-операнд 25 делится на int-операнд 100. Соответственно и деление происходит целочисленное. Для ожидаемого Вами результата необходимо хотя бы один из операндов привести к типу double. Например: double i = 25 / 100d;

Ответ 2



потому что это инт. double i = 25.0 / 100; либо приведите (cast) к double, наверное это делается так: double i = (double)25 / 100;

Ответ 3



Измени свой код на: double i = 25 / 100d; Иначе компилятор считает, что выполняется целочисленное деление, которое в данном случае вернет 0 вместо 0.25.

Комментариев нет:

Отправить комментарий