Как исправить метод деления, чтобы получить правильный вывод? - PullRequest
0 голосов
/ 05 июля 2019

У меня возникает проблема в делении, то есть, когда я делю 9000000000/9 без приведения типов, я получаю 10 ^ 9, но когда я разыгрываю его для плавания, это дает 9.9999994E8

long n = 10;
long sum = 9000000000;
float mean = ((float)sum)/(n-1);

Кто-нибудь может мне помочь, пожалуйста? Я не понимаю, чего мне не хватает, и у меня есть ограничения по времени для проведения исследований, поэтому я здесь, чтобы получить быстрый ответ.

1 Ответ

3 голосов
/ 05 июля 2019

9000000000 обрабатывается как входное значение и слишком велико, вам нужно сделать 9000000000L.Попробуйте BigDecimal:

    long n = 10;
    BigDecimal sum = new BigDecimal("9000000000");
    BigDecimal mean = sum.divide(BigDecimal.valueOf(n-1));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...