Как сделать округление вверх java

Обновлено: 07.07.2024

Это то, что я сделал, чтобы округлить двойной до 2 десятичных знаков:

это отлично работает, если сумма = 25.3569 или что-то в этом роде, но если сумма = 25.00 или сумма = 25.0, то я получаю 25.0! То, что я хочу, - это округление, а также форматирование до 2 десятичных знаков.

вы работаете с деньгами? Создание String а затем преобразование его обратно довольно петлевой.

использовать BigDecimal . Это обсуждалось достаточно широко. Вы должны иметь Money класс и сумма должна быть BigDecimal .

даже если вы не работаете с деньгами, считать BigDecimal .

просто используйте: (легко, как пирог)

выход будет 651.52

вы Не могу 'вокруг двойника к [любому количеству] десятичных знаков', потому что двойники не имеют десятичных знаков. Вы можете преобразовать double в строку base-10 С N десятичными знаками, потому что base-10 действительно имеет десятичные знаки, но когда вы преобразуете его обратно, вы возвращаетесь в double-land, с binary частичная места.

Это самый простой я мог бы сделать это, но он получает работу намного проще, чем большинство примеров, которые я видел.

результат 1.46.

использовать

строку.формат.%"(2Ф", doubleValue) // изменение 2, согласно вашему требованию.

вы можете использовать org.апаш.палата общин.математика.утиль.MathUtils от apache common

double round = MathUtils.round(double1, 2, BigDecimal.ROUND_HALF_DOWN);

ваш класс Money может быть представлен как подкласс Long или иметь член, представляющий денежную ценность как собственный long. Затем при присвоении значений вашим денежным экземплярам вы всегда будете хранить значения, которые на самом деле являются реальными денежными значениями. Вы просто выводите свой объект Money (через переопределенный метод toString() Ваших денег) с соответствующим форматированием. например, $ 1.25 во внутреннем представлении денежного объекта составляет 125. Вы представляете деньги в виде центов, или пенсов, или независимо от минимального номинала в валюте, которую вы запечатываете, есть . затем отформатируйте его на выходе. Нет, вы никогда не можете хранить "незаконную" денежную ценность, например, $1.257.

Целочисленное деление, остаток и округление в Java и Python

Что касается разделения, вы можете подумать, что здесь не о чем говорить, ведь учитель физкультуры учил нас в начальной школе. Однако я думаю, что в отношении разделения, используемого в программировании, есть еще много примечательных деталей. Почему я хочу копать глубже? Поскольку я в основном использую Java и Python для программирования каждый день, и их подразделения имеют много различий в деталях, они все ямы . Так что я также сосредоточусь на Java и Python, но поверьте мне, даже если вы не используете Java и Python, будут выгоды.

1. Целочисленное деление

Разделите два целых числа, которые не делятся, и вам придется столкнуться с проблемами округления. Как и в большинстве языков программирования, основная стратегия Java - округлять до нуля, то есть до меньшего абсолютного значения. Дайте несколько сладких каштанов: 3/2 = 1, -3 / 2 = -1. Для Python ситуация иная.

Хм? ошибка? ! конечно, нет. Здесь необходимо прояснить одно: компьютеры распознают только 0 и 1 (квантовый компьютер? Невежественный). Другими словами, все вводимые десятичные числа выражаются в компьютере в двоичном формате. Некоторые десятичные числа могут быть точно представлены в двоичном формате. Например, 0,125 в десятичной системе может быть представлено как 0b0.001; однако многие десятичные числа не могут быть точно представлены в двоичной системе. Компьютер сохраняет их приблизительные значения, например 0,1 в десятичной системе., В двоичном формате может быть приблизительно выражено как: 0b0.00011001100110011001100110011001100110011001100110011010 , Поэтому, когда мы преобразуем его обратно в десятичное число для вывода или использования, полученное значение будет 0.1000000000000000055511151231257827021181583404541015625 . Другими словами, 0,1 не совсем равно 1/10 в компьютере.

Точно так же, когда мы бежимround()Функция также является приблизительной величиной, фактически сохраненной в компьютере. 2,67 на самом деле примерно 2.67499999999999982236431605997495353221893310546875 , Вы видите, что третий десятичный знак равен 4, затем round (2,675, 2) эквивалентен round (2,674, 2), и результат, конечно же, равен 2,67. Стоит отметить, что это явление широко распространено на различных компьютерах и на разных языках программирования. Это не ошибка, но некоторые языки решили не показывать вам это.

3.3 Округление в Java

Java предоставляет методы floor и ceil для округления в большую и меньшую сторону.

Эти две функции просты и удобны, они необходимы для домашних путешествий. Кроме того, в Java есть функция округления, которая может реализовывать различные сложные округления.

В JavaScript есть несколько методов для округления чисел до нужного формата. Они отличаются принципом работы и имеют ряд особенностей, которые рассмотрим на примерах.

js округление

Math — встроенный в JS объект, который содержит свойства и методы с математическим уклоном.

Math.round

Math.round(x) — округляет число до ближайшего целого по математическому принципу. Если первая цифра после запятой равна или больше 5, то к положительному целому числу прибавляется единица.

К отрицательному идёт прибавка только если цифра строго больше 5:

Math.floor

Math.floor(x) — округление до наименьшего целого. Для положительных чисел всё что после запятой не учитывается и отбрасывается.

Для отрицательных логика та же, но целое число изменяется в меньшую сторону:

Math.ceil

Здесь без комментариев:

Math.trunc

Math.trunc(x) — предельно простая функция — для любых чисел отбрасывает всё после запятой.

Тоже самое для отрицательных:

Округление до нужного знака

Math.pow(10, 2) — возводит первый аргумент в степень (второй аргумент).

Number.toFixed

Добрый день подскажите пожалуйста, как округлить число в большую сторону.

Допустим 1,5234 само округлится до 2 если делить как Integer. А как округлить до 2-ух число вида 1.234 например ?


Округлить дробное число в меньшую сторону
Доброй ночи! Вот получил я размер своего HDD (точнее раздела) в гигабайтах в таком вот формате.

Округление в большую сторону, чтобы число заканчивалось на 9
Есть столбец А, в котором есть самые разные цены. Эти цены нужно округлить в большую сторону так.

Нужно число четных элементов в векторе округлить в меньшую сторону
Нужно число четных элементов в векторе округлить в меньшую сторону.

У меня 1 никогда не бывает. Для 1-ки отдельное условие )

Округление в большую сторону
В help'е написано, что qCeil округляет в большую сторону, даже приведен пример, что если результат.

Округление в большую сторону
Например 3.4 округлить до 4. Как сделать?


Округление в большую сторону
привет друзья! как округлять в большую сторону? 'возвращает 10.2 Debug.Print Round(10.212342.

Округление в большую сторону
Хочу вытащить из БД округленную сумму, но выпадает ошибка вот код.


Округление в большую сторону
Здравствуйте! Следующий код for (double i = 0; i < 10; i+=0.1) < .

Читайте также: