2015-06-22 2 views
1

Предположим, я хочу округлить цифры, которые имеют mantissa больше 0,3 'вверх' и ниже, чем внизу.Как сделать индивидуальное округление чисел в Java?

Как это сделать на Java?

Единственное, что пришло мне в голову, было Math.round(), но я не могу заставить его следовать определенному правилу.

+4

попробуйте Math.round (x + 0.2), т.е. просто установите смещение в обычную округляющую точку –

+0

Спасибо, сработало! Но не могли бы вы рассказать, как это можно сделать? – ridsatrio

ответ

4

Math.floor(x+0.7) должен это сделать.

Это должно работать для произвольной мантиссы. Просто добавьте смещение к следующему целому числу к вашему значению и округлите вниз. Округление выполняется по полу. Вот то, что Java API говорит пол:

Возвращает наибольшее (ближайшее к положительной бесконечности) двойное значение, которое меньше или равно аргументу и равно математическому целое.

Это решение похоже на решение от @Thomas Stets, но imho легче понять, поскольку округление выполняется только в одном направлении.

Смежные вопросы