Как бросить вдвое большее по сравнению с интервалом в Java путем округления его в меньшую сторону?

Я должен бросить вдвое большее по сравнению с интервалом в Java, но численное значение должно всегда округлять в меньшую сторону. т.е. 99.99999999-> 99

71
задан Joren 30 May 2015 в 19:24
поделиться

5 ответов

Отбрасывание до неявного сбрасывает любой знак после запятой. Нет необходимости вызывать Math.floor() (предполагая положительные числа)

Просто печатаем с помощью (int), например:

System.out.println((int)(99.9999)); // Prints 99

При этом он имеет поведение, отличное от Math.floor, которое округляется в сторону отрицательной бесконечности (@Chris Wong)

.
134
ответ дан 24 November 2019 в 12:51
поделиться

Это прекрасно работает int i = (int) dbl;

5
ответ дан 24 November 2019 в 12:51
поделиться
Math.floor(n)

где n -двойник. Похоже, что это вернет двойник, так что убедитесь, что вы напечатали его после.

11
ответ дан 24 November 2019 в 12:51
поделиться

Попробуйте использовать математический пол.

0
ответ дан 24 November 2019 в 12:51
поделиться

(INT) 99.99999

состоится 99. Кастинг двойной до int не имеет раунда, он откажется от фракции.

17
ответ дан 24 November 2019 в 12:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: