Очень маленькие фракции и «двойной» тип - PullRequest
0 голосов
/ 21 августа 2011

Я использую формулу 1 / x, где x может быть очень большим (больше 1000)

Когда я использую тип 'double', я всегда получаю ноль!

Например:

        int numOfDays = 1000;

        double result = 1 / numOfDays;

Какой тип я могу использовать?

Заранее спасибо !!

1 Ответ

4 голосов
/ 22 августа 2011

Вы делаете целочисленное деление и присваиваете результат двойному.

Измените один из операндов на double или float, и все будет в порядке.

int numOfDays = 1000;
double result = 1.0 / numOfDays;

Или:

int numOfDays = 1000;
double result = 1D / numOfDays;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...