Округление при преобразовании из double в float в java

#java

#java

Вопрос:

Я пытаюсь преобразовать минимальный ограничивающий прямоугольник из значений double в значения с плавающей точкой. После преобразования мне нужно, чтобы прямоугольник (с плавающей точкой) был равен (двойному) прямоугольнику или содержал его (плавающий прямоугольник должен быть больше или равен двойному прямоугольнику). Для этого я хочу иметь возможность указать, в какую сторону округлять double, чтобы преобразовать его в float. Итак, при приведении «Верхней» части прямоугольника я бы округлил в большую сторону, но при приведении «Нижней» части прямоугольника я бы округлил в меньшую.

Есть ли класс, который позволяет мне это делать?

Спасибо.

Ответ №1:

 Math.ceil( double ); - round up
Math.round( double ); - round down
  

Ответ №2:

Вы можете сравнить float с double , и если оно должно быть немного больше или меньше, вы можете вызвать floatToIntBits и intToFloatBits с приращением или уменьшением по мере необходимости.